Господа!
Возникла надобность, для нод с конкретным термином таксономии сделать свой шаблон вроде node-[term_N].tpl.php. Так что бы для ноды данного термина и тизер и основной текст выводились не так как выводятся для остальных нод.
Убил на это весь день.
Вот это:
http://drupal.org/node/135130
http://ru-ru.facebook.com/note.php?note_id=136666859690511
http://www.drupal.ru/node/29482
читал...
Так что же это получается? Что нет решения данной проблемы?
Т.е. если мы хотим делать отдельный шаблон, то надо создавать новый тип материала? И к нему подвязывать шаблон?
Комментарии
в node.tpl.php проверять $node->taxonomy и использовать соответствующий html код для нод с определенным термином
Спасибо большое!!!!!!!! Помогло.
Сделал вот так:
<?php if ( isset($node->taxonomy[89]) ) {
include('node-taxonomy.tpl.php') ;
return ;
}
?>
где taxonomy[89] нужный мне термин
Можно подключить отдельный файл для подключения node-taxonomy.tpl.php через функцію phptemplate_preprocess_page() из файла template.php так намного верней будет.
Я сделал вот так:
<?php
function phptemplate_preprocess_page(&$vars) {
if (isset($vars['node']) && ( isset($vars['node']->taxonomy[89])) ) {
$vars['template_files'][] = 'node-taxonomy-89';
}
}
?>но тогда файл node-taxonomy-89.tpl.php ципляется не как шаблон ноды, а как шаблон всей страницы.
В какой переменной мне надо присвоить node-taxonomy-89, чтобы он циплялся только как шаблон ноды?
Очевидно же — hook_preprocess_node. Остальное не меняйте.
Спасибо огромное - фунфциклирует
!!!!!!!!!!!!!!!