Отладка темы в Друпале

mbaev 28.10.2016, 22:22

Для того, чтобы увидеть отладочную информацию Друпала, достаточно установить переменную theme_debug в TRUE. Способа включить отображение этой информации через интерфейс- нет, но можно с помощью Drush.

  1. drush vset theme_debug --format=boolean 1

Если нет возможности использовать Drush, то всегда можно залезть через базу. Друпал хранит переменные в таблице variable. Изначально, записи о переменной theme_debug там нет, но мы можем добавить.

  1. INSERT INTO variable (name, VALUE) VALUES ('theme_debug', 'b:1;');

А если уже добавляли, то можно изменить.

  1. UPDATE variable SET VALUE='b:1;' WHERE name='theme_debug';

Еще вариант - добавить конфигурационную переменную в settings.php

  1. $conf['theme_debug'] = TRUE;

Результат

В конечном итоге, мы сможем отследить какие и в какой момент Друпал рендерит шаблоны. После установки переменной нужно открыть страницу сайта в браузере и открыть исходный код страницы:
theme-debug

Из каждого, отдельного блока дебага можно узнать:

  • Какая функция темизации была запущена;
  • Какой шаблон был использован (название и путь);
  • С какими названиями могут быть созданы шаблоны, для переопределения текущего, в порядке приоритета сверху вниз;
  • Какой HTML был сгенерирован той или иной функцией темизации.

Дополнительная информация

Можно покапаться в функциях _theme_render_template_debug и theme в файле includes/theme.inc.
Если что-то найдете еще - пишите в комментариях.