Отладка Twig шаблонов

Опубликовано: 02.11.2017

видео Отладка Twig шаблонов

8. Twig теги extends и block. Cоздание тем в Drupal 8 - вводный курс для начинающих.

Другие статьи серии Twig

При отладке переменных в Twig шаблоне нужно учитывать некоторые особенности шаблонизатора. Во-первых, Twig не позволит вам вызывать php функции, которые вы могли использовать при отладке php шаблонов: var_dump(), print_r(), dpm() (функция модуля devel) и другие. Привычная отладка с помощью xdebug в файлах twig шаблонов тоже недоступна. Во-вторых, шаблоны Twig компилируются в php файлы, которые кешируются в файловой системе (в Drupal 8 файлы хранятся в каталоге sites/default/files/php/twig). И после установки Drupal 8 отладочные функции twig будут недоступны, также вы не увидите изменений сделанных в шаблоне до очистки кеша (кеш в Drupal 8 с помощью drush чистится командой drush cr или с помощью аналогичной команды Drupal Console drupal cr).



Как включить отладку шаблонов

Для включения возможности отладки выполните следующие действия:

при использовании Drupal Console нужно просто выполнить команду:

при отсутствии Drupal Console найдите файл services.yml, который обычно размещен в sites/default/services.yml; если файл sites/default/services.yml не существует, просто скопируйте файл sites/default/default.services.yml в sites/default/services.yml; далее нужно будет отредактировать файл sites/default/services.yml и отметить в нем нужные опции для отладки шаблонов.

Отладочные опции Twig:

# sites/default/services.yml parameters: twig.config: debug: true # Twig debugging

Какие возможности дает включенная опция debug в значение true в sites/default/services.yml?


4. Знакомство с файлами разметки twig. Cоздание тем в Drupal 8 - вводный курс для начинающих.

Во-первых, в исходном html коде страницы все части кода будут обернуты в комментарии с информацией о используемых для вывода шаблонах и всех возможных вариантах именования файлов шаблонов (template suggestions).


5. Page.html.twig и регионы. Cоздание тем в Drupal 8 - вводный курс для начинающих.

Во-вторых, в шаблонах Twig появится возможность использования функцию dump() для вывода отладочной информации о переменных шаблона.

В-третьих, все файлы шаблона будут автоматически перекомпилироваться после любого изменения, внесенного в файл шаблона (смотри опцию auto_reload ниже).

По умолчанию опция установлена в false.