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

Главные вкладки

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

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

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

Комментарии

Аватар пользователя iskatel iskatel 22 мая 2009 в 22:04

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

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

Аватар пользователя HIgor1968 HIgor1968 23 мая 2009 в 9:43

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

Аватар пользователя iryston iryston 22 мая 2009 в 23:49

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

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

Аватар пользователя iskatel iskatel 23 мая 2009 в 9:42

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

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

Аватар пользователя penexe penexe 23 мая 2009 в 10:15

в 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

Аватар пользователя Char0Day Char0Day 13 июня 2009 в 15:12

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

Аватар пользователя dancermanz dancermanz 18 февраля 2012 в 17:05

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

Аватар пользователя Tkhorev Tkhorev 1 мая 2010 в 18:24

"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, спасибо Вам за это решение!

Аватар пользователя Alex_on Alex_on 4 октября 2010 в 0:17

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

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

Аватар пользователя sg85 sg85 2 апреля 2013 в 7:16

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

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

Аватар пользователя animan animan 12 июля 2015 в 13:30

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

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