Практическое руководство по созданию базовых модулей Drupal 8
Вступление
Много было сказано - и обсуждено - о последней версии Drupal - Drupal 8, и одно можно сказать наверняка: сборка модулей сильно изменилась. Существует множество учебных пособий, посвященных новым условиям, и в каждом из них авторы советуют разработчикам следить за еще большими изменениями по мере развития кода.
За последние несколько дней я изучил некоторые из этих руководств, а также модуль Examples и нашел довольно интересный пример, который, я надеюсь, останется актуальным в ближайшем будущем!
Цель учебника
В этом уроке мы создадим модуль для генерации lorem ipsum. Проще говоря, это модуль, который объединяет случайные фразы для создания текста наполнителя. Пользователи могут выбрать, сколько абзацев текста и сколько предложений в каждом абзаце, нажать кнопку и получить некоторый материал для своих нужд макета.
Модуль предоставляет простую страницу настроек и блок с формой для настройки объема генерируемого текста. Также есть настройки по умолчанию, разрешения, тесты и темы.
Вот как выглядит готовая конструкция
Не паникуйте
Этот код достаточно прост, чтобы работать без осложнений. Если какое-либо изменение в ядре Drupal сломает его, пожалуйста, дайте мне знать, и я исправлю это как можно скорее. Старайтесь не копировать и не вставлять, а вместо этого написать следующий код: это поможет вам запомнить его!
В любом случае, как я уже говорил в заголовке, это руководство является практическим. Я стремлюсь охватить основы и не буду вдаваться в подробности о том, что изменилось и почему. Где применимо, я буду разбивать код каждого файла на логические части, чтобы включить несколько комментариев.
Так что без дальнейших церемоний, давайте начнем. Начиная с базовой структуры, просмотрите подразделы этой статьи, чтобы узнать, какие шаги необходимо предпринять.
Drupal’s online documentation is © 2000-2020 by the individual contributors and can be used in accordance with the Creative Commons License, Attribution-ShareAlike 2.0. PHP code is distributed under the GNU General Public License.