Речь пойдет о том, как добавить в стандартный список имен шаблонов свой шаблон, который обрабатывается шаблонизатором drupal, для конкретного «своего» случая.
Начать нужно с того, что здесь описаны стандартные имена шаблонов для семерки. Имена шаблонов отличаются от 6й версии, возможно, с той целью, чтобы была возможность создать тему сразу для нескольких версий движка, с не пересекающимися именами файлов. Но это лишь моё предположение.
Там же в комментариях даны примеры для подключения шаблонов для D6 и D7. Они отличаются названием переменной списка имен шаблонов, для 7ки — это «theme_hook_suggestions»
|
|
<?php function themeName_preprocess_page(&$vars, $hook) { if (isset($vars['node'])) { // If the node type is "blog" the template suggestion will be "page--blog.tpl.php". $vars['theme_hook_suggestions'][] = 'page__'. str_replace('_', '--', $vars['node']->type); } } ?> |
Не очень ясно зачем переименовывать переменную этого списка. Наверняка, есть какие то причины. Объект «node» содержит весь набор полей, так что можно соорудить любое интересное в контексте вашей задачи условие и подключить соответствующий файл шаблона.
Данная запись опубликована в 09.06.2011 22:48 и размещена в рубрике Drupal.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Апрель 20, 2014 г.
По разным причинам нам может понадобится информация объекта текущей публикации (ноды) внутри модуля.Если код модуля вызывается из шаблона, то достаточно передать локальную переменную $node. Если такой возможности нет, то код ноды можно получить из текущего ...
Читать
Ноябрь 19, 2015 г.
Небольшой путеводитель по написанию модуля для Drupal 7.
Любой "приличный" проект на drupal (да и в других CMS) требует как минимум трех вещей:
Взять подходящую сборку drupal (с нужными модулями, установленным Wysiwyg редактором, русификацией); ...
Читать
Май 14, 2019 г.
Изучение API удобно начинать с шаблонов кода, которые демонстрируют технику использования.
Пример логики использования/создания элемента кеша
[crayon-6a8249d3c9159908878330/]
Обратите внимание на дополнительные скобки вокруг $cache = cache_get($cache_id). ...
Читать
Май 16, 2023 г.
Вы получили код для вставки метрики, осталось дело за малым - разместить его на сайте. Сайт управляется Drupal 8/9/10.
Я покажу как это сделать через изменение темы сайта.
Первая опция - это вставить непосредственно в один из основных шаблонов ...
Читать