[Решено] Вывод описания термина с последующим выводом подтерминов.

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

Аватар пользователя hrust007 hrust007 10 августа 2011 в 16:13

Всем доброго дня!

Drupal начал изучать недавно (6 версия), но практически по всем вопросам, возникающим у меня в голове, я находил ответы. Но на один вопрос пока не могу найти ответа. Суть вопроса в следующем:

Есть термины с подтерминами вида
Термин 1
-- Подтермин 1.1
-- Подтермин 1.2
-- Подтермин 1.3

Термин 1 не имеет нод, тогда как в подтерминах ноды присутствуют.

Как сделать так, чтобы на странице Термина 1 выводилось описание и под ним список подтерминов. Подскажите решение. Список подтерминов можно вывести с помощью Views, но вот где и куда писать описание, чтобы оно тоже выводилось не имею представления.

Комментарии

Аватар пользователя kalabro kalabro 13 августа 2011 в 11:47

Что-то наши гуру вьюсов проигнорировали вопрос.
У меня возникли некоторые мысли, и я даже воспроизвела их, правда на семёрке.
Вариант I. Views. Не претендует на оптимальное решение. Проверяла на семёрке.

  1. Устанавливаем Viewfild
  2. Создаём новый вью children_terms. Думаю, справитесь. Использовать аргумент «Термин таксономии: Родительский термин».
  3. Добавляем к словарю наш Viewfield со значением по умолчанию children_terms.
  4. Обновляем все уже созданные термины, чтобы у них тоже стояло children_terms.

Вариант II.
Создать модуль, переопределить в hook_menu_alter() callback для пункта 'taxonomy/term/%taxonomy_term' и реализовать этот колбек.

В D7 ещё есть функции preprocess, в которых можно подмешать нужные данные к выводу, но как их найти в D6, я не знаю.

Аватар пользователя hrust007 hrust007 29 августа 2011 в 10:59

Пока что решил это следующим способом:
1) Для вывода описания термина использовал Taxonomy Node
2) Для вывода списка подтерминов создал блок в который вставил PHP сниппет

$child=arg(2);
$parentno=taxonomy_get_children($key);
foreach ($parentno as $value)  {$vocab=$value->vid;}
$itog=taxonomy_get_tree($vocab,$child,-1, 1);
foreach ($itog as $value) {print "<span>".l($value->name, "taxonomy/term/".$value->vid)."</span> ";}