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

Опубликовал Максим Баев, 28 октября 2016, 23:22

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

drush vset theme_debug --format=boolean 1

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

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

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

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

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

<?php
$conf['theme_debug'] = TRUE;

Результат

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

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

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

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

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

Другие посты