Drupal 7 - Когда использовать предложения по шаблонам?


Мне всегда было трудно работать с предложениями шаблонов в Drupal. Я пытаюсь переопределить эти файлы (html.tpl.php, page.tpl.php, region.tpl.php ) для данного URL-адреса (mysite.com/user-export). Итак, я нашел эту функцию:

function MYTHEMENAME_process_page(&$variables) {
if (module_exists('path')) {
    $alias = drupal_get_path_alias(str_replace('/edit', '', $_GET['q']));
    if ($alias != $_GET['q']) {
        $template_filename = 'page';
        foreach (explode('/', $alias) as $path_part) {
            $template_filename = $template_filename . '__' . $path_part;
        }
        $vars['theme_hook_suggestions'][] = $template_filename;
    }
}
}

Это, казалось, работало довольно хорошо, я создал файл с именем page--user-export.tpl.php чтобы переопределить page.tpl.php файл, и это сработало. Однако в какой-то момент я удалил эту функцию, и переопределение шаблона все еще работало! Так Я предполагаю, что в некоторых случаях нам нужно создать функцию в template.php, и в некоторых других случаях переопределение выполняется автоматически без необходимости создания функции.

Итак, мой вопрос: Когда следует использовать предложения по шаблону ?

Заранее спасибо!

 3
Author: Clive, 2012-05-29

1 answers

Страница --внутренний путь уже определен ядром Drupal как предложение темы, поэтому добавление вашей собственной версии на самом деле не будет иметь никакого эффекта (так же, как и удаление этой версии не будет иметь никакого эффекта).

Вы можете просмотреть полный список предложений по крючкам, реализованным в ядре, на странице Предложения по крючкам темы Drupal 7.

Простой ответ на этот вопрос заключается в том, что вам нужно предоставить свои собственные предложения по шаблону, когда вам требуется эта функциональность, и основная система Drupal или добавленный модуль еще не предоставили вам переопределения.

 3
Author: Clive, 2012-05-29 08:54:37