Добрый день!
Drupal 6.
Отзывы у меня выводятся на отдельной странице при помощи модуля talk. Выводятся на странице /node/1891/otzyvy
Раньше для этой страницы работал шаблон page-node-otzyvy.tpl.php
Однако, мне понадобилось для типа product сделать отдельный шаблон page-node-type-product.tpl.php
Я поискал в интернете и нашел, что это можно сделать путём добавления в файл template.php такого кода:
function acquia_prosper_preprocess_page(&$variables) {
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
$sug[] = 'page-node-type-' . $node->type;
$variables['template_files'] = $sug;
}
}
В результате для нод типа product шаблон прекрасно переопределился, но, одновременно с этим этот же шаблон page-node-type-product.tpl.php стал действовать и для страниц с отзывами /node/1891/otzyvy.
Как сделать так, чтобы для станиц с отзывами остался старый шаблон page-node-otzyvy.tpl.php?
Версия Drupal:
6.xКатегория:
Theming
Вопрос задан 20.04.2016 - 14:16
Ответы
olll, вот так должно работать:
function acquia_prosper_preprocess_page(&$variables) {
if (arg(0) == 'node' && is_numeric(arg(1))) {
$node = node_load(arg(1));
$variables['template_files'][] = 'page-node-type-' . $node->type;
}
if (arg(2) == 'otzyvy' && is_numeric(arg(1))) {
$variables['template_files'][] = 'page-node-otzyvy';
}
}
Ответ дан 20.04.2016 - 15:05
$variables['template_files'][] = 'page-node-type-' . $node->type;
Ответ дан 20.04.2016 - 14:49
olll, спасибо, работает!