Создание отдельного шаблона для определённой страницы

Главные вкладки

Аватар пользователя Svyaga Svyaga 29 июня 2015 в 16:17

Приветствую, ру сообщество Drupal!

Делаю простенький сайт на Drupal под Denwer, использую тему Hertz.
Необходимо сделать отдельный шаблон для одной страницы, которая находится по адресу "drupal/flats".
В процессе я столкнулся с такими проблемами:

1) При создании файла с именем "page--flats.tpl.php" ничего не изменилось;
2) Пробовал изменить адрес страницы на стандартное "drupal/node/3" и изменить имя файла шаблона на "page--node--3.tpl.php". Это тоже не помогло.
3) Ещё попробовал сделать переопределение шаблона по типу материала, функция для этого уже была в теме. Вот функция:

<?phpfunction hertz_preprocess_page(&$vars, $hook) {
    if (isset($vars['node'])) {
        $suggest = "page__node__{$vars['node']->type}";
        $vars['theme_hook_suggestions'][] = $suggest;
    }
}?>

Создал тип материала "flatstype", пробовал называть файл "page--flatstype.tpl.php" и "page--node--flatstype.tpl.php", ни один из этих вариантов не сработал.

Надеюсь на вашу помощь Smile

Комментарии

Аватар пользователя Svyaga Svyaga 29 июня 2015 в 19:07

"gun_dose" wrote:
после добавления шаблона кэш темы сбрасывали?

Похоже, что в некоторых случаях забывал обновить кэш. В случае с "page--node--3.tpl.php" всё заработало.
Но вот с "page--flats.tpl.php" или "page--drupal--flats.tpl.php" нет.
Тем не менее, похоже, что проблема решена. Даже если задаю url "flats", то "page--node--3.tpl.php" всё равно работает... Непонятно)

Спасибо за помощь Smile

Аватар пользователя serega111 serega111 29 июня 2015 в 21:24

"Svyaga" wrote:
Тем не менее, похоже, что проблема решена. Даже если задаю url "flats", то "page--node--3.tpl.php" всё равно работает... Непонятно)

А flats - это синоним для node/3? Тогда все верно, только page--node--3.tpl.php и будет работать. Синоним видит только юзер, обработка запроса идет через реальный урл

Аватар пользователя Svyaga Svyaga 29 июня 2015 в 22:29

"serega111" wrote:
Синоним видит только юзер, обработка запроса идет через реальный урл

Теперь буду знать. Спасибо Smile