Основной файл любой темы оформления – это page.tpl.php. Именно в нем размещается макет сайта, общая структура, которая отображается на всех страницах сайта. Но что делать, если для определенного типа материалов (например, для новостей), макет, структура должна быть совсем другая. А если в принципе для каждого типа материала должен быть свой уникальный макет. Для решения этого вопроса надо использовать следующий сниппет. В файл template.php поместите следующий код:
function phptemplate_preprocess_page(&$variables) {
if ($node = menu_get_object()) {
$variables['node'] = $node;
$suggestions = array();
$template_filename = 'page';
$template_filename = $template_filename . '-' . $variables['node']->type;
$suggestions[] = $template_filename;
$variables['template_files'] = $suggestions;
}
}
Теперь Вы с легкостью можете изменить макет, просто создав файл page-nodetype.tpl.php. Например, для стандартного типа – «статьи» - надо будет создать файл page-story.tpl.php.
Оригинал статьи: http://www.startdrupal.com/node/59