Никак не могу найти как темизировать шаблон для определеного словаря таксономии.
Можно создать шаблон для всех словарей:
page-taxonomy-term.tpl.php
page-taxonomy.tpl.php
Можно также для отдельного термина словаря:
page-taxonomy-term-1.tpl.php
А как сделать для отдельного словаря?
Комментарии
На автомате - не пробовала:
page-taxonomy-vocabulary???
Пробовал:
page-taxonomy-vocabulary-1.tpl.php
page-vocabulary-taxonomy-1.tpl.php
Ничего не получается.
Вы хотите темизировать список нод на странице таксономии?
У меня для одного из типов материалов имеется меню на основании словаря таксономии. В словаре около 30 терминов - то есть считай 30 пунктов меню. Вид который предстает при переходе по этому списку мне не подходит. То есть мне нужно сделать допустим чтобы выводились лишь заголовки статей без тизеров, или же некоторые из ССК полей. Для этого как я понимаю нужно создать шаблон с номером словаря и обозначить там что и как выводить. У меня получается создать только шаблон для термина словаря page-taxonomy-term-1.tpl.php но не получается сделать шаблон для словаря который бы включал все термины словаря.
Можно просто в node-???.tpl.php для вашего типа сделать вывод полей (в т.ч. CCK) в зависимости от условий.
[#22251]почитай[/#] вывод списков - переменная page
Если словарю соответствует один тип материала, то почему бы не сделать темплейт для типа?
Мне же нужена не темизация материалов типа а темизация спика материалов которые выдаются при переходе нажатием на термин словаря.
Допустим у меня тип материалов машины. Я создаю для него словарь в таксономии под названием модель и прописываю там Газ, Ваз, Уаз и т.д. И теперь на основании этих терминов я строю меню. При нажатии допустим на Газ мы переходим на страничку таксономия/словарь/термин и на этой странице появляются ссылки на все статьи с термином Газ. Мне нужно изменить вид этой странички а не страниц отосящихся к типу машины.
в template.php
<?php
function имятемы_preprocess_page(&$vars) {
if(arg(0) == 'taxonomy' && arg(1) == 'term' && is_numeric(arg(2))) {
$term = taxonomy_get_term(arg(2));
$vars['template_files'][] = 'page-vocabulary-'. $term->vid;
}
}
?>
потом кеш сбросить, а файлы будут
page-vocabulary-1.tpl.php
page-vocabulary-2.tpl.php
Сделал так, все получилось. Вывожу в page-vocabulary-2.tpl.php
<?php print krumo_ob(get_defined_vars()); ?>
и в ступоре не могу понять, как мне отформатировать вывод нод таблично по три в ряд, например.
Есть только переменная content - и в ней весь вывод одной строкой.
UPD
Все - нашел!
Я пошел не тем путем. Нужно было всего-лишь активировать представление(view) taxonomy_term и уже в нем настроить необходимый вывод.
Я хотел пойти сложным путем.
Вот меня тоже интересует этот вопрос. Есть переменна $content и она выводить все в одну строчку. Можно было бы с помощью вьюшки сделать, но у меня стоит модуль fivestar - рейтинг материалов. И вот как мне его вывести на страничке термина? Спасибо большое!
penexe, спасибо Вам за это решение!
А как можно использовать вьюс таксономии только для 1 словаря? Если сделать фильтр по словарю - в остальных терминах становится пусто. Понято что можно сделать 2 вьюса, но не хочется вьюсы на вывод всех терминов навешивать.
+1
Подскажите, как перекрыть шаблон словаря в 7 друпале?
самый простой способ - включить дефолтное представление для таксономии и переделать по вкусу, если же нужно именно свою вьюху(правда не понимаю зачем), можно переопределить вывод таксономии через свой модуль(этот способ можно найти в гугле, по какой-то причине он популярнее, предполагаю, что из-за моды на экспорт представлений в код).
сделал так http://www.drupal.ru/node/98421
Хм, если в друпал 7, то используйте:
taxonomy-term--[vocabulary_machine_name].tpl.php - для определенного словаря
taxonomy-term--[tid].tpl.php - для термина