Користувачі сайту — його найцінніший скарб. 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, обираючи відповідні типи полів.
Порядок відображення полів на сторінці сайту можна визначати за допомогою перетягування мишкою на вкладці “Manage display”. Також можна ховати або показувати їхні назви, використовувати форматери полів, і так далі.
Кожне поле можна зробити обов’язковим чи необов’язковим на сторінці “Edit”.
Особлива група полів — “Reference”. Вона дозволяє приєднати сутності інших типів. Використовуючи це, можна дати можливість користувачам:
вказувати інших користувачів вашого сайту (наприклад “My mentors”)
обирати варіанти зі словників таксономії (наприклад, країни, міста, мови тощо)
додавати улюблений контент з вашого сайту до профілю
і дуже багато іншого. Один із цікавих випадків посилання на сутності — в наступному пункті про Media Library.
2. Більш цікаві та привабливі профілі завдяки Media Library
Юзери також зможуть додавати в свої профілі мультимедіа з Media Library в Drupal 8. Це включає в себе зображення, відео, аудіо, файли, а також віддалене відео з YouTube або Vimeo. Наприклад, можна додавати улюблені фото, музичні кліпи і тому подібне.
Media Library з’явилась в якості експериментального модуля в Drupal 8.6 для зручної роботи з мультимедіа. Новий інтерфейс Media Library в Drupal 8.7 вразив навіть експертів своїм стильним дизайном і зручністю.
Для роботи з медіа повинні бути увімкнені модулі ядра Media та Media Library. Тоді потрібно додати поле “Reference” типу “Media”, визначити дозволену кількість значень і обрати тип мультимедіа.
З такими налаштуваннями, як на нашому малюнку, профіль юзера матиме поля для 5 фотографій, що вбудовуватимуться в профіль прямо з Media Library.
Чудово знати, що в Drupal 8.8 готується кнопка з вбудовування медіа в панель контент-редактора.
3. Відображення потрібних даних в профілі з Views
Ще більше можливостей відкривається завдяки додаванню колекцій даних — Drupal Views. Наприклад, пригадуєте вищезгадане поле “Reference” із посиланням на інших користувачів — “My mentors”?
Це поле просто перечислятиме імена менторів. А якщо потрібно відобразити, скажімо, їхні фото?
Допоможе Views! Оформимо блок з фотографіями менторів як в’юшку, а потім приєднаємо в якості блоку або сторінки до користувацьких профілів. Нам потрібно:
- зайти в Structure — Views і створити нову в’юшку-блок, що показує юзерів і базується на полях
- додати поле “User picture”, а в налаштуванні поля приєднати його до поля “My Mentors”
- додати зв’язок із полем “My Mentors” в розділі “Advanced”
- щоб показувати лише менторів конкретного користувача, додати контекстний фільтр в розділі “Advanced”
Коли це зроблено, наш блок показуватиме фото менторів на сторінці профіля юзера. Однак, цей блок поки що ні до чого на сайті не приєднаний.
4. Поєднання блоків і оформлення сторінки з Layout Builder
А тепер час все це поєднати. Наш блок Views можна приєднати до профілю користувачів за допомогою традиційного “block layout” (в якості простого варіанту). Однак, новий Layout Builder, що з’явився в Drupal 8.5, пропонує для цього чудовий інтерфейс із можливістю перетягування елементів мишкою.
Layout Builder працює з усіма сутностями, що мають поля, — в тому числі і з користувацькими профілями. На додачу до увімкнення самого модуля, потрібно увімкнути використання Layout Builder на сторінці Manage Display типу сутності (в нашому випадку — користувацького профілю).
Кнопка “Manage layout” тоді приведе нас у зручний інтерфейс, де можна додавати секції з різною кількістю стовпців, вказувати співвідношення їхньої ширини, а також додавати до них блоки. Блоки — це Drupal-поля, блоки Views, форми, меню і багато іншого.
Кожен Drupal-блок налаштовується в правому сайдбарі. Там є всі традиційно знайомі з “Manage display” опції.
Ми створюємо макет із 3 стовпців і додаємо поля профілю як блоки, включно із полем “My featured photos” і блоком Views “My mentors”. Збережемо результат і подивимось, як виглядає користувацький профіль.
Звісно, тут ще потрібно допрацювати з зовнішнім виглядом за допомогою HTML та CSS. Однак, ми лише зачепили верхівку айсберга в можливостях ядра Drupal 8 для побудови користувацьких профілів.
Побудова користувацьких профілів у Drupal 8 з нашою командою
Нехай профілі юзерів на вашому сайті виглядають в точності так, як ви бажаєте, без жодних обмежень уяви. Довірте побудову структури профілів нашій Drupal-команді, яка використає вбудовані, контрібні або ж кастомні рішення, ідеальні для вашого кейсу. Зверніться до нас!