Drupal 7.72. PHP 7.3.18. Views 7.x-3.24.
Создаю новый View.
В Fields добавляю Термин таксономии: Название.
В RELATIONSHIPS Термин таксономии: Родительский термин - Родитель
В CONTEXTUAL FILTERS добавил Термин таксономии: ID термина. Relationship - Родитель. WHEN THE FILTER VALUE IS NOT AVAILABLE - Provide default value - Taxonomy term ID from URL -Load default filter from term page.
В подвал добавил Global: Text area - Формат текста Php - Display even if view has no result
<?php
$view = views_get_current_view();
if (is_numeric($view->args[0])){
$term = taxonomy_term_load($view->args[0]);
return $term->description;
}
?>
На странице термина таксономии выводит детей текущего уровня и описание термина.
Но если это самый нижний уровень словаря и детей нет, то описание термина игнорируется.
Подскажите куда еще копать?
Комментарии
"В подвал добавил Global: Text area - Формат текста Php - Display even if view has no result" - зачем?
Для вывода поля Description термина таксономии
Давайте по другому. Что нужно сделать? Вывести описание термина где: на родительском термине, на дочернем? Какого термина: родительского, дочернего?
а как вывести описание на странице родительского термина? никак не могу понять
Пусть автор темы сформулирует, что хочет, потому как не факт, что вам надо одно и то же.
Есть словарь.
Термин 0
-Термин 1
-- Термин 1.1
-- Термин 1.2
-Термин 2
-Термин 3
У терминов есть поля Название и Описание. В описание некоторых терминов вбит html текст.
Есть ноды которые прикреплены к определенным терминам.
Нужно чтобы на странице Термин0 выводило: Описание термина; его дети Термин1, Термин2, Термин3; ноды относящиеся к Термин0.
На текущий момент работает вывод нод относящийся к текущему термину, вывод детей термина. Вывод описания работает только если у термина есть дети. То есть работают как надо страницы с Термин0 и Термин1. Термин2 и Термин3 выводят только ноды относящиеся к ним.
Предлагаю 3 вьюхи:
1. Описание термина - аргумент TID.
2. Дочерние термины - аргумент родительский термин.
3. Ноды термина. Тип этой вьюхи Содержимое, а не Термин.
Контекстный фильтр.
Если нужно чтобы выводились из дочерних терминов Содержимое: Имеет идентификатор термина таксономии (с глубиной) - глубина 10
Если только из текущего термина, просто - Содержимое: Имеет идентификатор термина таксономии
Это 10 джойнов в запросе. Не надо так делать, лучше указывать реальную глубину словаря, если там, к примеру, 4 уровня вложенности - то и указывать глубину 4.
Вьюха с нодами есть и она настроена именно так.
При создании вьюхи Тип: Term, нет такого контексного фильтра "Имеет идентификатор термина таксономии".
Что добавить в контексный фильтр вьюхи Тип: Term, чтобы выводились только дочерние термины и описание? Потому как без фильтров выводятся вообще все термины.
"При создании вьюхи Тип: Term" введите в строке выбора "tid". И там увидите идшник термина. Собственно это один из ваших скриншотов.
Приложите, пожалуйста, скриншот. Я не очень понимаю куда вводить tid. Название view? Fields для вывода?
1. Описание термина
2. Дочерние термины
Настройки контекстного фильтра. Такие как у вас в шапке темы.