Рейтинг:2

Как создать представление, в котором перечислены все термины таксономии словаря, отфильтрованные по идентификатору термина?

флаг cn

У меня много разных словарей. На странице таксономии (предусмотрено стандартное представление) я хотел бы добавить блок (представление), который берет текущий идентификатор таксономии из URL-адреса/страницы и отображает все термины таксономии, принадлежащие к одному и тому же словарю. Я попытался добавить контекстный фильтр, но когда я выбираю идентификатор термина из URL-адреса, в представлении отображается только один термин, но я хотел бы показать все термины словаря, к которому принадлежит этот термин.

Конечно, я мог бы создать блок для каждого словаря, но поскольку их у меня много, я ищу более динамичный подход.

Например: на странице /taxonomy/term/39 Я хотел бы добавить блок (представление), который принимает идентификатор таксономии 39 и перечисляет все термины словаря, к которому принадлежит идентификатор 39.

berliner avatar
флаг bd
Добро пожаловать в Drupal Ответы! Вы должны предоставить больше контекста для этого вопроса, например. вашу конфигурацию представлений, чтобы пользователи здесь могли лучше понять вашу проблему.
berliner avatar
флаг bd
На первый взгляд, я бы сказал, что вам также нужна связь с родительским словарем, чтобы использовать другие термины. Но немного сложно сказать, не видя конфигурации ваших представлений.
флаг cn
Я попытался уточнить и отредактировал свой вопрос
berliner avatar
флаг bd
Я просто немного поигрался с представлениями, и мне кажется, что вы не можете делать то, что хотите, с ядром Drupal. Нет возможности добавить отношение термина к словарю, а также нет возможности получить словарь с текущей страницы термина. Так что либо есть модуль contrib, решающий эту проблему, который я не смог найти, либо вам нужно сделать какое-то специальное кодирование для достижения этого.
Рейтинг:1
флаг cn

Я создал плагин views arguments_default, который сделал свое дело:

публичная функция getArgument() {
  if (($taxonomy_term = $this->routeMatch->getParameter('taxonomy_term')) && $taxonomy_term instanceof TermInterface) {
    $словарь = $taxonomy_term->bundle();
    вернуть $словарь;
  }
}
berliner avatar
флаг bd
Хороший! Рад, что вы нашли решение.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.