Речь пойдет о том, как добавить в стандартный список имен шаблонов свой шаблон, который обрабатывается шаблонизатором 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, 2018 г.
Drupal удаляет не используемые изображения. С одной стороны это правильная стратегия - зачем хранить картинки, файлы, которые уже не используются? С другой стороны есть причины, когда их требуется сохранить.
Вот хотя бы две:
SEO-шникам важно, ...
Читать
Февраль 27, 2024 г.
Параграфы, оторванные от родительской entity нам не нужны, потому эта миграция является дочерней к рассматриваемому примеру миграции статей блога из CSV.
Из всего набора полей источника нам требуется только два поля - это id и body.
migrate_plus.migration.custom_text_to_paragraph.yml ...
Читать
Апрель 20, 2014 г.
По разным причинам нам может понадобится информация объекта текущей публикации (ноды) внутри модуля.Если код модуля вызывается из шаблона, то достаточно передать локальную переменную $node. Если такой возможности нет, то код ноды можно получить из текущего ...
Читать
Сентябрь 6, 2023 г.
Пример кода, реализующий endpoint скачиваемого файла.
[crayon-691894b142d6f458751566/]
Кроме контроллера, вам потребуется еще задать маршрут. Пример описания маршрута:
[crayon-691894b142d7c021106066/]
Читать