Задача — в своём модуле переопределить page.tpl.php
для пути foo/bar/%
.
Решение:
1. Реализовать hook_theme()
:
/**
* Implements hook_theme().
*/
function MODULENAME_theme() {
return array(
'page__foo__bar__%' => array(
'render element' => 'page',
'template' => 'page--foo--bar--%',
),
);
}
2. Создать в папке модуля файл page--foo--bar--%.tpl.php
3. Сбросить кэш.
По материалам Как переопределить функцию темизации в своём модуле.
Написанное актуально для
Drupal 7
Похожие записи
- Создание сравнительной таблицы с значениями из EAV Field
- Тест оверхеда Layout Builder и Paragraphs
- Темизация группы чекбоксов или радио-кнопок (#type=>checkboxes, #type=>radios)
- Как в Views программно изменить view mode выводимых сущностей по данным из cookie?
- Добавляем на страницу управления отображением материала поля "Заголовок" и "Дата создания"
Комментарии
А если требуется не для модуля, а просто заместо контента вывести там определенный текст, делать всё также?
нет. просто создать файл
http://drupal.org/node/1089656#page-suggestion
Большое спасибо. Постоянно теперь читаю этот блог и модифицирую свой сайт, теперь много буду спрашивать в комментариях, если можно)
Добрый день.
А скажите пожалуйста, то есть в названии файла page--foo--bar--%.tpl.php так % и оставлять ?
И в этом случае этот шаблон будет обрабатывать все запросы данного типа - и foo/bar/1 и foo/bar/10 ?
И если да, то каким образом тогда внутри этого шаблона узнать, какое значение в данном случае передается на месте % ?
так и оставлять.
узнать значение можно с помощью arg()
неплохо
Подскажите, а шаблон для определенного типа материала node--type.tpl.php можно таким образом переопределить? Чтобы он подгружался из папки с модулем?
можно
как передать параметры в такой шаблон?
я делаю так.
в функции, которая вызывается hook_menu пишу
затем
но переменные map и details_page не доступны в шаблоне
А не подскажите, как реализовать - допустим если необходимо не переопределить page.tpl.php, а добавить в него дополнительную разметку html. Естественно из своего модуля.
https://api.drupal.org/api/drupal/includes%21theme.inc/function/templat…
Добавить комментарий