Темизация словаря таксономии

22 мая 2009 в 19:15
Аватар пользователя iskatel iskatel 0 17

Никак не могу найти как темизировать шаблон для определеного словаря таксономии.
Можно создать шаблон для всех словарей:
page-taxonomy-term.tpl.php
page-taxonomy.tpl.php

Можно также для отдельного термина словаря:
page-taxonomy-term-1.tpl.php
А как сделать для отдельного словаря?

Комментарии

"HIgor1968" wrote:
Вы хотите темизировать список нод на странице таксономии?

У меня для одного из типов материалов имеется меню на основании словаря таксономии. В словаре около 30 терминов - то есть считай 30 пунктов меню. Вид который предстает при переходе по этому списку мне не подходит. То есть мне нужно сделать допустим чтобы выводились лишь заголовки статей без тизеров, или же некоторые из ССК полей. Для этого как я понимаю нужно создать шаблон с номером словаря и обозначить там что и как выводить. У меня получается создать только шаблон для термина словаря page-taxonomy-term-1.tpl.php но не получается сделать шаблон для словаря который бы включал все термины словаря.

22 мая 2009 в 22:04

Можно просто в node-???.tpl.php для вашего типа сделать вывод полей (в т.ч. CCK) в зависимости от условий.
[#22251]почитай[/#] вывод списков - переменная page

23 мая 2009 в 9:43

"iskatel" wrote:
У меня для одного из типов материалов имеется меню на основании словаря таксономии.

Если словарю соответствует один тип материала, то почему бы не сделать темплейт для типа?

22 мая 2009 в 23:49

"eagle" wrote:
Если словарю соответствует один тип материала, то почему бы не сделать темплейт для типа?

Мне же нужена не темизация материалов типа а темизация спика материалов которые выдаются при переходе нажатием на термин словаря.
Допустим у меня тип материалов машины. Я создаю для него словарь в таксономии под названием модель и прописываю там Газ, Ваз, Уаз и т.д. И теперь на основании этих терминов я строю меню. При нажатии допустим на Газ мы переходим на страничку таксономия/словарь/термин и на этой странице появляются ссылки на все статьи с термином Газ. Мне нужно изменить вид этой странички а не страниц отосящихся к типу машины.

23 мая 2009 в 9:42

в 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

23 мая 2009 в 10:15

penexe wrote:
в 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 и уже в нем настроить необходимый вывод.
Я хотел пойти сложным путем.

13 июня 2009 в 15:12

Char0Day wrote:
penexe wrote:
в 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 - рейтинг материалов. И вот как мне его вывести на страничке термина? Спасибо большое!

18 февраля 2012 в 17:05

"penexe" wrote:
<?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;
}
}
?>

penexe, спасибо Вам за это решение!

1 мая 2010 в 18:24

"Char0Day" wrote:
Я пошел не тем путем. Нужно было всего-лишь активировать представление(view) taxonomy_term и уже в нем настроить необходимый вывод.

А как можно использовать вьюс таксономии только для 1 словаря? Если сделать фильтр по словарю - в остальных терминах становится пусто. Понято что можно сделать 2 вьюса, но не хочется вьюсы на вывод всех терминов навешивать.

4 октября 2010 в 0:17

"skill" wrote:
Подскажите, как перекрыть шаблон словаря в 7 друпале?

самый простой способ - включить дефолтное представление для таксономии и переделать по вкусу, если же нужно именно свою вьюху(правда не понимаю зачем), можно переопределить вывод таксономии через свой модуль(этот способ можно найти в гугле, по какой-то причине он популярнее, предполагаю, что из-за моды на экспорт представлений в код).

2 апреля 2013 в 7:16

Хм, если в друпал 7, то используйте:

taxonomy-term--[vocabulary_machine_name].tpl.php - для определенного словаря
taxonomy-term--[tid].tpl.php - для термина

12 июля 2015 в 13:30