Как показать все предложения по шаблону для страницы без использования темы разработки?


По какой-то причине модуль Разработчика тем не работает на моем сайте (всякий раз, когда я его активирую и перехожу на свой сайт, он просто показывает белую страницу с надписью "Перейти к основному контенту"), но все, что я хочу знать, это какие файлы TPL используются для отображения моей текущей страницы.

Я знаю, что если я помещу print_r($variables["theme_hook_suggestions"]); в функции preprocess_html или preprocess_page (или любую другую функцию предварительной обработки для того, что это имеет значение) Я смогу увидеть предложения по файлам html.tpl.php и page.tpl.php соответственно, но на самом деле мне нужно углубиться и просмотреть все предложения по шаблонам, которые проверяются для отображения текущей страницы.

Есть ли какой-либо способ сделать это без использования модуля Разработчика темы ?

Author: kenorb, 2014-10-30

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']);
  }
}
 3
Author: Clive, 2014-10-30 20:53:13

Вы можете поместить это в свой settings.php $conf['theme_debug'] = истина;

Это выводит html-комментарии на вашу страницу, которые помогут вам отладить выбор предложений по теме.

 10
Author: Mamadou, 2016-06-17 13:33:37