-
EBT Блоки 🧱
-
EPT Параграфы 🆕
-
Ресурсы и поддержка
-
Видеокурс "Разработка сайтов на CMS Drupal"
- Блог
-
Кейсы
- Drupal как backend: GraphQL, JSON:API, RESTful
- Автоматический перевод страниц Drupal с помощью ИИ
- Заменить Colorbox на GLightbox
- Как поддерживать огромные меню в Drupal
- Обновление Drupal 7 до последней версии Drupal
- Переписывание плагинов CKEditor 4 для CKEditor 5
- Управление конфигурацией на основе CI
- Drupal Документация
- JsonDrop API Документация
- Форум
-
Видеокурс "Разработка сайтов на CMS Drupal"
- Новости
- Скачать Drupal
- Нужна поддержка?
Canvas Palette - Сделайте её яркой🎨
Canvas Palette — Перетаскивайте блоки, добавляйте видео, внесите немного цвета — диплом дизайнера не требуется.
Дополнительные типы блоков (EBT) — новый опыт конструктора страниц❗
Дополнительные типы блоков (EBT) — стилизованные, настраиваемые типы блоков: слайдшоу, вкладки, карточки, аккордеоны и многие другие. Встроенные настройки для фона, DOM Box, плагины Javascript.
❗Дополнительные типы параграфов (EPT) — новый опыт работы с параграфами
Дополнительные типы параграфов (EPT) — набор модулей, основанный на аналогичных параграфах.
GLightbox is a pure javascript lightbox (Colorbox alternative without jQuery)❗
It can display images, iframes, inline content and videos with optional autoplay for YouTube, Vimeo and even self-hosted videos.
- Главная
- Видеокурс "Разработка сайтов на CMS Drupal"
- 12. Разработка модулей для Drupal
- 12.10. Drupal 8 Fields API. Drupal поля в базе данных.
9.10.4. API полей Drupal 8. Форматировщик Drupal — отображение данных на странице
Menu
- Установка Drupal с Lando
- 2. Базовые возможности Drupal
- 3. Drupal Конфигурация
- 4. Конструкторы Drupal
- 5. Drupal Commerce - модуль интернет магазина для Drupal
- 6. Drupal и SEO.
- 8. Темизация Drupal
- 9. Продвинутая темизация Drupal
-
12. Разработка модулей для Drupal
- 12.2. Что такое hook в Drupal 8?
- 12.3. Создаем кастомный Drupal 8 модуль. Вывод страницы программно.
- 12.4. Создание страниц для premium аккаунта.
- 12.5. Основная документация по Drupal api.drupal.org. Как искать информацию по API Drupal.
- 12.6. Роут с параметром.
- 12.7. Плагины в Drupal 8. Выводим блок.
- 12.8. Работа с формами в Drupal 8. Добавляем форму администрирования.
- 12.9. Работа с конфигурациями в Drupal 8. Active, Sync конфиги, перенос конфигов с DEV на LIVE.
-
12.10. Drupal 8 Fields API. Drupal поля в базе данных.
- 12.10.1. Drupal 8 Fields API. Drupal Widget ввод данных полей, форма для поля.
- 12.10.2. Drupal 8 Fields API. Drupal Formatter вывод данных полей на страницу
- 12.10.3. Работа с полями в Drupal 8. Создаем свой тип поля, widget, formatter для вставки видео с Youtube.
- 9.10.4. API полей Drupal 8. Форматировщик Drupal — отображение данных на странице
- 12.11. Drupal 8 Entity API. Создание кастомной сущности. Генерация сущности через Drupal Console.
- 12.12. Event Dispatcher, кастомный код для определенных событий.
- 12.13. Работа с базой данных в Drupal 8
- 12.14. Интеграция Drupal модуля со Views
- 12.15. Services и Dependency Injection.
- Drupal decoupled. Создание бекэнда на Drupal.
- Старые статьи
В этой статье мы рассмотрим форматтеры полей, которые позволяют нам редактировать отображение полей и выводить их на странице.
В предыдущих статьях мы создавали тип поля Link, а в этой статье мы посмотрим, как эти поля отображаются на странице и какой класс за это отвечает. Каждое поле, которое вы добавляете через Drupal, может быть отображено на странице, и его параметры можно редактировать на странице Управление отображением.

В колонке Формат вы можете выбрать, как будет отображаться поле. Эта колонка формируется благодаря классам Field Formatter. Давайте посмотрим на класс из модуля Link, который отвечает за отображение ссылки на странице:
core/modules/link/src/Plugin/Field/FieldFormatter/LinkFormatter.php
Аннотация класса показывает, к какому типу поля относится данный форматтер.
/**
* Реализация плагина форматтера 'link'.
*
* @FieldFormatter(
* id = "link",
* label = @Translation("Ссылка"),
* field_types = {
* "link"
* }
* )
*/
В этом файле нас в первую очередь интересует метод viewElements(), который отвечает за вывод данных на страницу. Обратите внимание, что форматтер не делает запросов к базе данных — он берет данные из переменной $items. В $items...