#drupal-7 #drupal-views #drupal-taxonomy
#drupal-7 #drupal-представления #drupal-таксономия
Вопрос:
У меня есть один тип контента с одним полем таксономии с родительскими-> дочерними терминами. В одном представлении мне нужно группировать узлы по выбранному дочернему элементу, но также и по родительскому.
Ожидаемый результат
- родительский элемент 1 <- родительский элемент таксономии
- термин 1 <- дочерняя таксономия
- заголовок 1 <- узел
- раздел 2
- раздел 3
- термин 2
- раздел 4
- раздел 5
- родительский элемент 2
- термин 3
- раздел 6
- раздел 7
- термин 4
- раздел 8
- раздел 9
Текущий вывод
- родительский элемент 1
- термин 1 и заголовок 1
- термин 1 и заголовок 2
- термин 1 и заголовок 3
- термин 2 и заголовок 4
- термин 2 и заголовок 5
- родительский элемент 2
- термин 3 и заголовок 6
- термин 3 и заголовок 7
- термин 4 и заголовок 8
- термин 4 и заголовок 9
Текущая конфигурация представления
- Отношения
- Термины таксономии для узла <- дочерний
- Термин таксономия <- родительский
- Формат
- Неформатированный список
- Поле группировки: родительский
- Поля
- Термин таксономии <- родительский
- Исключить из отображения
- Термин таксономии <- дочерний
- Заголовок содержимого <- узел
- Фильтр
- Тип контента (= Мой тип контента)
Спасибо!
Ответ №1:
Я понял! Решение
Вид узла
- Имя машины для просмотра: node_view_machine_name
- Тип: Блок
- Поля
- Название
- Поле 1
- Поле 2
- Фильтр
- Тип контента (= Мой тип контента)
- Контекстные фильтры
- Дочернее поле таксономии
- Скрывать вид, когда фильтр недоступен
Просмотр таксономии
- Тип: страница
- Фильтр
- Термин таксономии: словарь (= Мой словарь)
- Взаимосвязь
- Термин таксономии: родительский термин
- Поля
- Термин таксономии: Название
- Взаимосвязь: родительский
- Исключить из отображения
- Термин таксономии: ID <- Мы используем этот идентификатор для передачи в качестве аргумента в представление узла
- Взаимосвязь: отсутствует
- Исключить из отображения
- Термин таксономии: Название
- Взаимосвязь: отсутствует
- Глобальный PHP <- Печать сведений об узле, связанных с каждым дочерним термином
- Выходной код:
$viewNodeDetail = views_get_view('node_view_machine_name');
$viewNodeDetail ->set_arguments(array($row->tid));
print $viewNodeDetail ->render('block');
- Формат
- Группируйте по
- (Родительский) Термин таксономии: Название
Я надеюсь, что это может быть полезно для кого-то еще!
Комментарии:
1. Это помогло мне, спасибо. 2 вещи, которые я должен был сделать по-другому: 1. Представление таксономии — необходимо отметить галочкой «Требовать эту связь» и 2. Представление таксономии — вместо термина таксономии: Name я должен был использовать термин таксономии: отображаемый термин таксономии
2. Другим решением является использование views_field_view, тогда вам не придется возиться с пользовательским php