Будуємо профілі користувачів у Drupal 8 з новими модулями ядра

04.09.2019
Будуємо профілі користувачів у Drupal 8 з новими модулями ядра
Автор:

Користувачі сайту — його найцінніший скарб. Drupal 8 пропонує все, аби ваші користувачі були щасливими та задоволеними. У них є можливість легко створювати контент, швидко знаходити все необхідне з потужним пошуком в Drupal 8, читати рідною мовою завдяки мультимовності Drupal 8, і так далі.

Але давайте почнемо з самого початку «подорожі» юзерів вашим сайтом — з користувацьких профілів. Зробимо невеликий огляд побудови структури акаунтів у Drupal 8. Почнемо з основ, а потім ми перейдемо до деяких цікавих можливостей, що дозволять зробити профілі більш привабливими. У цьому будуть залучені нові модулі ядра Drupal 8, такі як:

  • модуль Media Library — для додавання різноманітних мультимедіа
  • модуль Layout Builder — для поєднання блоків у зручному інтерфейсі з можливістю перетягування мишкою

А також в нашому блозі візьме участь уже не такий новий, але завжди незамінний модуль Views, що став частиною ядра Drupal 8. Він допомагатиме відображати дані в потрібному нам вигляді. Поїхали!

Побудова структури користувацьких профілів у Drupal 8

1. Вступ: використання полів для побудови профілів

Технічно користувачі в Drupal 8 — це сутності, що складаються з полів. Це означає, що їх можна будувати з яких завгодно Drupal-полів, які потім будуть в кожному акаунті користувача. Поля можуть бути будь-які — ім’я, прізвище, електронна пошта, лінк на сайт, і так далі. Їх можна створювати в Configuration — People — Account settings — Manage fields, обираючи відповідні типи полів.

Managing fields in Drupal 8 profiles

Порядок відображення полів на сторінці сайту можна визначати за допомогою перетягування мишкою на вкладці “Manage display”. Також можна ховати або показувати їхні назви, використовувати форматери полів, і так далі.

Manage display to reorder fields in Drupal 8

Кожне поле можна зробити обов’язковим чи необов’язковим на сторінці “Edit”.

Making fields required or optional in Drupal 8

Особлива група полів — “Reference”. Вона дозволяє приєднати сутності інших типів. Використовуючи це, можна дати можливість користувачам:

вказувати інших користувачів вашого сайту (наприклад “My mentors”)

обирати варіанти зі словників таксономії (наприклад, країни, міста, мови тощо)

додавати улюблений контент з вашого сайту до профілю

і дуже багато іншого. Один із цікавих випадків посилання на сутності — в наступному пункті про Media Library.

adding referenced entity field in Drupal 8

2. Більш цікаві та привабливі профілі завдяки Media Library

Юзери також зможуть додавати в свої профілі мультимедіа з Media Library в Drupal 8. Це включає в себе зображення, відео, аудіо, файли, а також віддалене відео з YouTube або Vimeo. Наприклад, можна додавати улюблені фото, музичні кліпи і тому подібне.

Media Library з’явилась в якості експериментального модуля в Drupal 8.6 для зручної роботи з мультимедіа. Новий інтерфейс Media Library в Drupal 8.7 вразив навіть експертів своїм стильним дизайном і зручністю.

Media Library in Drupal 8

Для роботи з медіа повинні бути увімкнені модулі ядра Media та Media Library. Тоді потрібно додати поле “Reference” типу “Media”, визначити дозволену кількість значень і обрати тип мультимедіа.

Adding Media field in Drupal 8

З такими налаштуваннями, як на нашому малюнку, профіль юзера матиме поля для 5 фотографій, що вбудовуватимуться в профіль прямо з Media Library.

Adding media from Media Library in Drupal 8

Чудово знати, що в Drupal 8.8 готується кнопка з вбудовування медіа в панель контент-редактора.

3. Відображення потрібних даних в профілі з Views

Ще більше можливостей відкривається завдяки додаванню колекцій даних — Drupal Views. Наприклад, пригадуєте вищезгадане поле “Reference” із посиланням на інших користувачів — “My mentors”?

referenced entity user field in Drupal 8

Це поле просто перечислятиме імена менторів. А якщо потрібно відобразити, скажімо, їхні фото?

Допоможе Views! Оформимо блок з фотографіями менторів як в’юшку, а потім приєднаємо в якості блоку або сторінки до користувацьких профілів. Нам потрібно:

  • зайти в Structure — Views і створити нову в’юшку-блок, що показує юзерів і базується на полях
  • додати поле “User picture”, а в налаштуванні поля приєднати його до поля “My Mentors”
  • додати зв’язок із полем “My Mentors” в розділі “Advanced”
  • щоб показувати лише менторів конкретного користувача, додати контекстний фільтр в розділі “Advanced”

Views in Drupal 8 that shows each user's mentors

Contextual filter by user ID in Drupal 8

Коли це зроблено, наш блок показуватиме фото менторів на сторінці профіля юзера. Однак, цей блок поки що ні до чого на сайті не приєднаний.

4. Поєднання блоків і оформлення сторінки з Layout Builder

А тепер час все це поєднати. Наш блок Views можна приєднати до профілю користувачів за допомогою традиційного “block layout” (в якості простого варіанту). Однак, новий Layout Builder, що з’явився в Drupal 8.5, пропонує для цього чудовий інтерфейс із можливістю перетягування елементів мишкою.

Layout Builder працює з усіма сутностями, що мають поля, — в тому числі і з користувацькими профілями. На додачу до увімкнення самого модуля, потрібно увімкнути використання Layout Builder на сторінці Manage Display типу сутності (в нашому випадку — користувацького профілю).

Enable Layout Builder for entity type

Кнопка “Manage layout” тоді приведе нас у зручний інтерфейс, де можна додавати секції з різною кількістю стовпців, вказувати співвідношення їхньої ширини, а також додавати до них блоки. Блоки — це Drupal-поля, блоки Views, форми, меню і багато іншого.

adding blocks in Layout Builder Drupal 8

Кожен Drupal-блок налаштовується в правому сайдбарі. Там є всі традиційно знайомі з “Manage display” опції.

Configuring field in Drupal 8's Layout Builder

Ми створюємо макет із 3 стовпців і додаємо поля профілю як блоки, включно із полем “My featured photos” і блоком Views “My mentors”. Збережемо результат і подивимось, як виглядає користувацький профіль.

User profile created in Drupal 8's Layout Builder

Звісно, тут ще потрібно допрацювати з зовнішнім виглядом за допомогою HTML та CSS. Однак, ми лише зачепили верхівку айсберга в можливостях ядра Drupal 8 для побудови користувацьких профілів.

Побудова користувацьких профілів у Drupal 8 з нашою командою

Нехай профілі юзерів на вашому сайті виглядають в точності так, як ви бажаєте, без жодних обмежень уяви. Довірте побудову структури профілів нашій Drupal-команді, яка використає вбудовані, контрібні або ж кастомні рішення, ідеальні для вашого кейсу. Зверніться до нас!

Голосів: 1 Рейтинг: 5

Також по темі

1

Якщо ви хочете, щоб відвідувачі осіли на вашому сайті і зареєструвалися, вам обов'язково потрібен спеціальний інструмент, щоб полегшити і прискорити процес реєстрації та входу. На щастя, у Drupal...

2

Систематизувати процеси модерації контенту — необхідність для багатьох сайтів. З Drupal 8 цього легко досягти. Тож запрошуємо поглянути, як налаштовуються процеси модерації контенту в Drupal...

3

Приємно, коли речі, що раніше здавались фантастикою, стають поширеними веб-практиками. Яскравий приклад цього — штучний інтелект. А як щодо Drupal-сайтів — чи готові вони до цього тренду?...

4

Одна з новинок Друпала змусить прихильників підходу “API-first” просто затамувати подих. Адже серед надходжень вчорашнього релізу 8.7.0 — модуль JSON:API у складі Drupal! Тепер він — частина...

5

Сьогодні все більше ажіотажу викликає архітектура “decoupled Drupal”. Звісно, Drupal має дистрибутиви і для неї. Вони включають у себе Reservoir, Headless Lightning, а також “героя” нашої...

Subscribe to our blog updates