В этом уроке мы рассмотрим как работает Field Widget модуля Link. Это обзорная статья, если вы хотите начать писать свой File Widget, то переходите к следующим статьям.
В этой статье мы продолжим разбираться с Form API в Drupal 8 и сделаем multistep форму. Мы уже создавали обычную конфигурационную форму для модуля, multistep форма создается похожим способом с использованием $form_state для хранения данных между шагами формы.
Очень часто доступы к 3rd party сервисам должны быть различными на dev и live инстансами. Для того чтобы это сделать с помощью конфигов, нужно использовать модуль Configuration Split:
Когда вы импортируете конфигурацию с одного сайта на другой, то некоторые конфиги нужны для вывода контента, но сам контент конфиги не содержат. В этом уроке мы разберем как переносить блоки, ноды и термины таксономии с одного сайта на другой.
Конфигурация в Drupal 8 это основа всех настроек типов материалов, полей, конфигурационных форм и переменных. С помощью конфигурации мы можем переносить изменения с одного сайта на другой, разрабатывать таким образом разные фичи одновременно и не мешая друг другу.
Если вы ставили друпал, скачивая его с сайта drupal.org с этой страницы:
https://www.drupal.org/project/drupal
То у вас могут возникнуть проблемы с обновлением Drupal, потому что Drush и Composer не смогут обновить его обычным способом. Поэтому вам придется обновлять друпал заменой файлов или поменять структуру файлов в проекте, чтобы композер мог обновлять Drupal. В этой статье мы разерем первый вариант как обновить Drupal без Drush и Composer.
В одном из прошлых уроков мы разбирали что такое хуки, в этом уроке мы на практике поработаем с хуком hook_form_alter() и подобавляем функционал для уже существующей формы.
В этом уроке мы разберемся с Drupal 8 Form API и создадим форму настроек для модуля. Мы уже создали модули для вывода страницы и блока, давайте теперь создадим конфигурационную форму, в которой мы будем хранить данные для подключению к условному сервису. Допустим, что нам нужно хранить на сайте API Key и API Client ID, например для Google Maps API.
Мы можем использовать параметры в URL для роутов. Они работают также как contextual filters во Views. Мы можем например передавать в URL ID различных сущностей, текстовые строки или последовательной ID разделенных запятой или плюсами. В этом уроке мы будем передавать ID ноды и выводить title и body этой ноды в контенте.