Речь пойдет о том, как добавить в стандартный список имен шаблонов свой шаблон, который обрабатывается шаблонизатором 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.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 8, 2021 г.
Привычная функция watchdog, которую мы использовали в 6/7 версиях, к девятке пережила эволюцию до сервиса логирования.
Бывшее ранее:
[crayon-6a69c3c0e37ab380964373/]
Сейчас выглядит так:
[crayon-6a69c3c0e37b7492693626/]
Помимо того, ...
Читать
Октябрь 1, 2024 г.
Это проблема рекурсии при сборе информации о статье. Модуль сканирует ссылочные поля (reference entity fields) и может попасть в своеобразную рекурсивную петлю. К примеру, статья ссылается на параграф, а тот ссылается на эту же статью.
Т.к. глубина ...
Читать
Июль 14, 2023 г.
Как без хуков preprocess в Drupal добавить, например, атрибут target для ссылки в шаблоне?
Например, возьмем штатный шаблон file-link.html.twig:
[crayon-6a69c3c0e3a03466918070/]
Используем фильтр merge, добавляя нужные атрибуты:
[crayon-6a69c3c0e3a0c958461243/]
Читать
Июнь 6, 2019 г.
С помощью drush и такой то матери (bash) обойдем все сайты и создадим одного и того же юзера на каждом из сайтов.
Долго тянуть не стану - вот текст скрипта:
[crayon-6a69c3c0e3afc554613095/]
В начале вы задаёте нужные переменные (задайте свои ...
Читать