Используя представления, как отобразить блок отцовских терминов с кратким списком дочерних терминов?


У меня есть список терминов таксономии со связанными подразделами следующим образом:

Отец 1

  • ребенок 1.1
  • ребенок 1.2
  • ребенок 1.n

Отец 2

  • ребенок 2.1
  • ребенок 2.2
  • ребенок 2.n

Отец 3

  • ребенок 3.1
  • ребенок 3.2
  • ребенок 3.n

И так далее.

Мне нужно поместить список отца, за которым следуют первые 5 детей элементы в блоке и поместите его на главную страницу.

Теперь дело в том, что после долгих попыток я не нашел решения о том, как я могу это сделать.

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

Я уже описал все темы, но я все еще не способный отображать детей под термином "отец".

Для краткости, вот представление о том, что я ищу: This is a representation of my need

Я схожу из-за этого с ума, так что любая помощь будет очень признательна!

Author: kiamlaluno, 2015-07-15

2 answers

Если вы не нашли лучшего решения, вы можете создать одно представление, в котором будут отображаться имя родительского термина и идентификатор родителя, и второе представление, в котором будут отображаться четыре дочерних элемента с контекстным фильтром по идентификатору родителя. И с помощью template_preprocess_views_view_field вставьте представление с дочерними терминами в представление с родителями.

/**
 * Implements hook_preprocess_views_view_field().
 */
 function mymodule_preprocess_views_view_field(&$vars) {
   switch ($vars['view']->name) {
     case 'terms_parents':
       if ($vars['field']->options['id'] == 'tid') {
         $vars['output'] = views_embed_view('children_view', 'display', array($vars['output']));
       }
       break;
   }
}
 1
Author: Andrew, 2015-07-16 05:58:58

Подумайте о добавлении соответствующих "отношений" в ваше представление (подумайте о "соединении" в SQL).

Если это не поможет, рассмотрите возможность улучшения вашего вопроса, добавив скриншот вашей текущей настройки представления (где вы можете видеть поля, взаимосвязи и т. Д.).

 0
Author: Pierre.Vriens, 2015-07-15 21:45:43