Как использовать разные шаблоны страниц drupal? - PullRequest
4 голосов
/ 28 июля 2010

У меня есть два файла шаблона страницы, один из которых просто "page.tpl.php", а другой для подмножества страниц.

Как применить этот другой шаблон только для определенных страниц, а остальные простопо умолчанию для page.tpl.php?

Спасибо!Я на Drupal 6.

Ответы [ 3 ]

7 голосов
/ 28 июля 2010

В Drupal шаблоны следуют так называемым «советам».

Для страниц предложения создаются с использованием URL-пути.

На странице / foo / bar вы можете назвать свой page.tpl.php следующим образом:

  • page.tpl.php
  • страниц foo.tpl.php
  • страница-Foo-bar.tpl.php

Drupal будет смотреть от наиболее конкретного к наименее конкретному и выберет первый найденный. Если страница-foo-bar.tpl.php найдена, она будет использовать ее для foo / bar, если она не найдена, она будет выглядеть. Если тогда он найдет Page-Foo, он будет использовать это.

page-foo.tpl.php также будет использоваться для / foo / beserk foo / pirate и foo / parrot, если, конечно, вы не создадите page-foo-parrot.tpl.php.

На главной странице нет пути (очевидно), но есть предложение для первой страницы: page-front.tpl.php будет использоваться только для главной страницы.

5 голосов
/ 28 июля 2010

В дополнение к стандартной системе предложений Drupal, вы можете реализовать template_preprocess_page в своей теме и изменить массив предложений шаблонов:

function my_theme_preprocess_page(&$vars) {
  if ($vars['some_var'] == 'some_value') {
    $vars['template_files'][] = "page-special";
  }
}

См. Работа с предложениями шаблонов .

Вы также можете форсировать файл шаблона вместо добавления предложения:

function my_theme_preprocess_page(&$vars) {
  if ($vars['some_var'] == 'some_value') {
    $vars['template_file'] = "page-special";
  }
}
0 голосов
/ 28 июля 2010

Вы также можете проверить модуль Разделы , он позволяет выбрать отдельную тему для набора страниц.Выбор страниц такой же, как на странице конфигурации отображения блока - Показать на каждой странице, кроме перечисленных, Показать только на перечисленных страницах, Показать, возвращает ли следующий код PHP значение ИСТИНА.

Я использовал его наодин из сайтов, который я создал, и он прекрасно работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...