Кілька слів про створення кастомних форматерів полів у Drupal 8

15.09.2017
Кілька слів про створення кастомних форматерів полів у Drupal 8
Автор:

Можливості Drupal 8 можна порівняти з безкрайніми колосистими полями — запрошуємо вас на ще одну прогулянку ними! Drupal 8 дозволяє підвищувати швидкість сайту з модулем BigPipe у ядрі, приводити сайт у відповідність з найновішими стандартами веб-доступності, покращувати SEO завдяки цілому ряду корисних модулів, полегшувати процес апгрейду сайтів, наводити ідеальний порядок в ролях та дозволах — і це лише початок списку. Окрім усього іншого, Drupal 8 дозволяє створювати кастомні форматери полів, тож сьогодні ми коротенько розглянемо, для чого вони потрібні і як їх будувати.

Форматери полів у Drupal 8 та що вони роблять

Згідно з архітектурою Drupal 8, форматери полів є плагінами, причому дуже корисними. Їхня основна місія — розповідати Drupal’у, в якому вигляді презентувати кінцевим користувачам сайту значення полів та опції з налаштування цих полів. Важливо, щоб це відображало ваші унікальні ідеї та задуми, а користувачам було зручно і цікаво. Щоб мати абсолютну свободу в реалізації цього, є можливість створювати кастомні форматери полів у Drupal 8.

Декілька порад щодо створення кастомних форматерів полів у Drupal 8

Створення модуля

Все починається з модуля — адже це Drupal! Отже, перш за все, потрібно створити модуль, в якому буде зберігатися код майбутнього форматера. Щоб реалізувати це, створіть наступну структуру папок в папці модуля:

MyModule/src/Plugin/Field/FieldFormatter

Створення файлу класу форматера полів

Чудово, папка готова, і тепер до неї потрібно додати новий файл класу форматера полів (по одному для кожного форматера, який ви хочете створити): MyModule/src/Plugin/Field/FieldFormatter/MyFormatter.php

Простір імен повинен бути таким:

Drupal\MyModule\Plugin\Field\FieldFormatter

Плагіни є класами, які наслідуються один від одного. Отже, клас форматера полів повинен наслідуватись від класу \Drupal\Core\Field\FormatterBase. Назва класу MyFormatter повинна відображати суть його діяльності, і, головне, мати суфікс “Formatter”.

Створення анотації

Анотації — чудовий приклад об’єктно-орієнтованого програмування в Drupal 8, адже вони містять метадані класів. Щоб оголосити про свій новий плагін, потрібно зробити анотацію @FieldFormatter. Вона повинна містити важливі дані про ваш форматер полів, такі як ID (машинне ім’я), мітка (ім’я, зручне для читання людиною) і типи полів, для яких він призначений.

Застосування методів

Метод settingsForm() дозволить вам визначити додаткові опції, а метод settingsSummary() відповідає за інформування кінцевих користувачів щодо налаштувань форматера. Метод viewElements() має справу з рендерингом даних полів.

Трішки далі «вглиб полів»

Якщо вас цікавлять більш детальні технічні огляди на теми Drupal-полів та їх форматування, читайте блоги наших розробників про Field API в Drupal 8 (кастомні форматери і віджети), а також про модуль Field Image Tooltips. Останній був створений однією з наших команд, має справу з додаванням зображень з pop-up підказками та є доступним як для Drupal 7, так і для Drupal 8.

Сподіваємось, вам сподобалася ця коротенка «прогулянка полями» в Drupal 8. Наші розробники готові допомогти вам у створенні кастомних форматерів полів, перенесенні сайту на Drupal 8 або створенні абсолютно нового сайту для вас. Давайте обговоримо це просто зараз!

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

Також по темі

1

Вітання усім! Таке враження, що «8» — щасливе число, а 8/2017 — щасливий місяць для всіх друпалістів. Очевидно, черпаючи додаткову енергію з серпневого сонця, Drupal-спільнота створила безліч...

2

пам спричиняє великі незручності для користувачів Інтернету та головний біль для власників сайтів. На щастя, Drupal може запропонувати вам рішення і не одне. Модулі Drupal 8 прийдуть вам на...

4

У сьогоднішньому блозі Друпал 8 також буде в центрі уваги, однак, з аспекту SEO. Ми розглянемо, які модулі та які інші функції D8 призначені для оптимізації вашого веб-ресурсу для пошукових систем...

5

Привіт усім! Літо триває. Так і хочеться взяти кошик і зібрати для вас декілька свіжих, стиглих і соковитих... Drupal-новин! ;) Ви побачите, що липень 2017 був справді дуже плідним для Drupal. Тож...

Subscribe to our blog updates