Как показать все предложения по шаблону для страницы без использования темы разработки?
По какой-то причине модуль Разработчика тем не работает на моем сайте (всякий раз, когда я его активирую и перехожу на свой сайт, он просто показывает белую страницу с надписью "Перейти к основному контенту"), но все, что я хочу знать, это какие файлы TPL используются для отображения моей текущей страницы.
Я знаю, что если я помещу print_r($variables["theme_hook_suggestions"]);
в функции preprocess_html
или preprocess_page
(или любую другую функцию предварительной обработки для того, что это имеет значение) Я смогу увидеть предложения по файлам html.tpl.php
и page.tpl.php
соответственно, но на самом деле мне нужно углубиться и просмотреть все предложения по шаблонам, которые проверяются для отображения текущей страницы.
Есть ли какой-либо способ сделать это без использования модуля Разработчика темы ?
2 answers
В дополнение к специфичным для функции/шаблона крючкам, есть также hook_preprocess()
:
Этот крючок позволяет модулям предварительно обрабатывать переменные темы для шаблонов тем. Он вызывается для всех тематических крючков, реализованных в виде шаблонов, но не для тематических крючков, реализованных в виде функций.
Объедините это с функцией модуля разработки dpm()
, и вы получите то, что вам нужно:
function MYTHEME_preprocess(&$vars, $hook) {
if (!empty($vars['theme_hook_suggestions'])) {
dpm(t('Hook - @hook', array('@hook' => $hook)));
dpm($vars['theme_hook_suggestions']);
}
}
Вы можете поместить это в свой settings.php $conf['theme_debug'] = истина;
Это выводит html-комментарии на вашу страницу, которые помогут вам отладить выбор предложений по теме.