Вы здесь

Создание темы

Темизация Drupal 8 / Drupal Twig

Темизация Drupal 8

Друпал обладает достаточной мощью и гибкостью для того, чтобы вы могли сделать тему любой сложности. Система даёт бесчисленные способы решения возникающих вопросов, но вы должны знать как Друпал работает с темами, чтобы быть в состоянии выбрать оптимальный вариант. Зная принципы создания тем, вы можете минимизировать свой код и облегчить последующее обслуживание.

Это не означает, что вы должны от и до выучить весь Друпал только для того, чтобы сделать свою тему. В этих главах будут рассмотрены вопросы касающиеся работы с оформлением и вы можете изучить только те из них, которые вам нужны. Некоторые документы рассчитаны на технически подготовленных пользователей, другие носят общий характер, но для понимания большинства вещей от вас потребуется знание:

  • HTML и CSS
  • JavaScript и jQuery (если вы будете делать тему с поддержкой этих скриптов)
  • PHP (это не является необходимым, но во многих ситуациях знание PHP поможет вам лучше понимать о чём идёт речь)
  • Терминологии Друпала

Старайтесь при разработке темы придерживаться стандартов кодирования — это позволит сохранить чистоту кода темы. Перед созданием темы, вам нужно представлять цели и возможности сайта, для которых вы делаете тему. Зная определённые требования значительно легче разрабатывать новую тему, чем проектируя её, исходя из общих представлений.


В Друпале 8 движком темизации является Twig. Twig — это язык шаблонов на основе PHP. Когда прорисовывается страница, то движок читает шаблон и преобразовывает его в скомилированную на языке PHP версию, шаблон которой сохраняется в папке sites/default/files/php_storage. Преобразование выполняется один раз, файл шаблона кешируется для дальнейшего использования и обновляется в том случае, если кеш Twig будет очищен. Если вы собираетесь делать темы его использованием, то познакомьтесь с его стандартами кодирования.

Основными характеристиками Twig являются:

  • Скорость: Twig компилирует шаблоны с оптимизированным простым PHP-кодом. В сравнении с обычным PHP-кодом, время выполнения сведено к минимуму
  • Безопасность: Twig может работать в изолированном режиме для выполнения небезопасного/ненадёжного кода шаблона. Это позволяет использовать Twig в качестве языка шаблонов для приложений, в которых пользователи могут изменять дизайн шаблона
  • Гибкость: Twig работает на основе гибкого лексера и парсера. Это позволяет разработчикам определять свои теги и фильтры, а также создавать свои DSL