В D7 я смог отфильтровать представление по названию термина таксономии, взятому из URL. Примером может быть этот URL
http://www.gbyte.co/tags/drupal-planet/rss.xml
"drupal-planet" будет преобразован в идентификатор термина таксономии, который затем соответствующим образом отфильтрует результаты просмотра.
Теперь я настроил соответствующее представление D8 с контекстным фильтром «Content: Tags (field_tags)», field_tags является полем таксономии. Однако представление D8 будет показывать результаты только тогда, когда я передам фактический идентификатор термина в URL-адрес следующим образом:
http://www.gbyte.co/tags/9/rss.xml
Я хотел бы, чтобы он также работал с названием термина, как D7. Отсутствует ли функциональность или мне нужно настроить представление по-другому?
views
taxonomy-terms
8
gbyte.co
источник
источник
Ответы:
Название термина, преобразованное в фильтр идентификатора термина, похоже, отсутствует в представлениях D8.
Один из обходных путей для конструктора сайтов заключается в добавлении терминов « Связь» и « Таксономия» на узле, а затем добавлении фильтра « Таксономия: имя» в контекстные фильтры с использованием вышеупомянутых отношений. Проверка указать критерии проверки флажка, установите Validator в систематику термин имя и проверить соответствующую таксономию для фильтрации.
источник
{{ arguments.name }}
в настройках контекстного фильтра.в Drupal 8 Проверить этот модуль Просмотры Таксономия Термин Имя Глубина
Этот модуль предоставляет плагин для контекстного фильтра, как показано на следующем рисунке ...
источник
Просто для завершения, на момент написания вопроса мне удалось обойти эту проблему, преобразовав имя термина таксономии из URL в идентификатор термина в views_hook_pre_view (), а затем используя его в качестве входных данных для контекстного фильтра. которая принимает идентификаторы таксономии.
Вот код для ловушки представлений:
источник
Чтобы расширить ответ Шона Конна:
Надеюсь, это поможет!
источник
Я не знаю, если у вас все еще есть эта проблема, но я смог создать отношение для «Термины таксономии на узле», используя нужный словарь таксономии, а затем создать контекстный фильтр, используя это отношение для «Термин таксономии: Имя», который позволяет вам для проверки на основе имени, а не TID.
источник
@kiethm предоставил правильный подход к этому - в контекстных фильтрах вам нужно выбрать «Имя», а не «Идентификатор термина таксономии», а затем установить критерии проверки для использования «Название термина таксономии» .
источник
Эй, я долго искал этот ответ. Для любого, как я, ищущего, как заставить это работать, я проделал свой путь к моему успеху частично отсюда и результатам drupal.org, а затем также из следующего: http://redcrackle.com/blog/adding-contextual-filter -view-Друпал-8
Я использую Drupal 8 и Zircon. Я новичок, поэтому я могу использовать неправильные термины. Я хотел сделать ссылки на контекстные изображения в "Panel first col 1" на основе категории страницы, на которой кто-то находится. Что я сделал, так это зашел в «Структура»> «Представления»> «Карусель» (представление с изображениями в этой области блока)> «Дополнительно»> «Добавить по контекстным фильтрам»> «Имеет идентификатор термина таксономии»> выберите «Предоставить значение по умолчанию: идентификатор термина таксономии из URL» (что не имеет смысла для меня, но все равно)> тогда я установил все три поля: Загрузить фильтр по умолчанию со страницы терминов, Загрузить фильтр по умолчанию со страницы узла, это хорошо для связанных блоков таксономии, Ограничить термины по словарю. Затем для словарей я проверил категории.
Уф! В заключение! Спасибо вам всем за то, что вы указали мне правильное направление! Я не мог объяснить, почему это работает, полностью, но независимо от того, что это делает, и я буду продолжать работать.
источник
Я написал крошечный модуль, чтобы восстановить недостающую функциональность и снова заставить ее работать правильно:
https://www.drupal.org/project/views_taxonomy_term_name_into_id
Он повторно добавляет валидатор аргумента «Преобразовать имя термина в идентификатор» для терминов таксономии, используемых в «контекстных фильтрах» в представлениях. Смотрите страницу проекта для получения дополнительной информации и инструкций.
Наслаждайтесь, -Derek (dww)
источник
Вы можете сделать это, добавив контент: имеет идентификатор термина таксономии в контекстном фильтре, затем вы можете использовать таксономию в контекстуальном, отрегулировав критерии фильтра
источник
Я добился этого в Drupal-8, взяв контекстный фильтр: «Термин таксономии: Имя»
Затем укажите значение по умолчанию. Тип Таксономический термин ID из URL
Затем укажите следующие критерии проверки:
источник