Группировать узлы по дочерней и родительской таксономии с помощью Views - Drupal 7 - PullRequest
0 голосов
/ 05 ноября 2011

У меня есть один тип контента с одним полем таксономии с родительскими -> дочерними терминами. В одном представлении мне нужно сгруппировать узлы по выбранному дочернему элементу, а также по родительскому элементу.

Ожидаемый результат

  • родитель 1 <- таксономический родитель <ul>
  • термин 1 <- таксономия ребенка <ul>
  • заголовок 1 <- узел </li>
  • заголовок 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

Текущий вид конфигурации

  • Отношения
    • Термины таксономии на узле <- ребенок </li>
    • Срок таксономии <- родительский </li>
  • Формат
    • Неформатированный список
    • Поле группировки: родитель
  • Поля
    • Термин таксономии <- родительский </li>
    • Исключить из отображения
    • Термин таксономии <- ребенок </li>
    • Заголовок содержимого <- узел </li>
  • Фильтр
    • Тип контента (= Тип контента)

Спасибо!

1 Ответ

3 голосов
/ 07 ноября 2011

Я понял!Решение

Просмотр узла

  • Просмотр имени машины: node_view_machine_name
  • Тип: Блок
  • Поля
    • Заголовок
    • Поле 1
    • Поле 2
  • Фильтр
    • Тип содержимого (= Мой тип содержимого)
  • Контекстные фильтры
    • Дочернее поле таксономии
    • Скрыть вид, когда фильтр недоступен

Представление таксономии

  • Тип: страница
  • Фильтр
    • Термин таксономии: Словарь (= Мой словарь)
  • Отношения
    • Термин таксономии: Родительский термин
  • Поля
    • Термин таксономии: Имя
      • Отношение: родительский
      • Исключить из отображения
    • Термин таксономии: ID <- Мы используем этот идентификатор для передачи в качестве аргумента представлению узла <ul>
    • Отношение:нет
    • Исключить с дисплея
  • ТаксоныНоминальный термин: Имя
    • Взаимосвязь: нет
  • Global PHP <- Печать сведений об узле, связанных с каждым дочерним термином <ul>
  • Выходной код:
$viewNodeDetail = views_get_view('node_view_machine_name');
$viewNodeDetail ->set_arguments(array($row->tid));
print $viewNodeDetail ->render('block');
  • Формат
    • Группировать по
    • (родительский) Термин таксономии:Имя

Надеюсь, может пригодится кому-то еще!

...