Шаблоны страниц Drupal работают в системе предложений. На основе текущего URL создается массив возможных файлов шаблонов. Он перебирает массив (в обратном порядке) в поисках существующих файлов шаблонов. Первый найденный, он будет использовать.
Система тем drupal предоставляет вам возможность изменять предложения шаблонов. Откройте файл template.php и найдите
function phptemplate_preprocess_page(&$vars) {
переменная $ vars - это то, что содержит предложения, в частности, $ vars ['template_files']
По умолчанию доступны только те предложения страниц, которые
- page.tpl.php
- страница-node.tpl.php
- страниц node- [node_id] .tpl.php
Насколько мне известно, page-node- [node_type] .tpl.php не работает по умолчанию, поэтому, скорее всего, вы уже изменили шаблон preprocess_page для добавления в эту функцию.
Однако, если вы хотите добавить более конкретные шаблоны, вы можете сделать что-то вроде этого ...
function phptemplate_preprocess_page(&$variables) {
if ($variables['node']->type != "") {
$variables['template_files'][] = "page-node-" . $variables['node']->type;
$variables['template_files'][] = "page-node-" . $variables['node']->type . "-" . $variables['node']->nid;
}
}
это позволит следующую иерархию шаблонных предложений
- page.tpl.php
- страниц node.tpl.php
- страниц node- [node_id] .tpl.php
- страниц node- [node_type] .tpl.php
- страниц node- [node_type] - [node_id] .tpl.php