Вывод НЕ ОЧЕНЬ похожих материалов

Главные вкладки

Аватар пользователя buldozer_kpi buldozer_kpi 7 ноября 2018 в 0:20

Есть два словаря «Город» и «Компания».
Есть тип материала «Компания в городе», у которой есть термины «Город» и «Компания»
Есть тип материала «Отзывы о компании», у которой есть термины «Город» и «Компания»

В материале «Компания в городе» с помощью views и двух контекстных фильтров (Содержимое: Has taxonomy term ID и ограничением по каждому в отдельности словарю ) вывожу блок отзывов об этой компании в этом городе. Например, на странице «Компания Василёк в Пскове» получается блок «Отзывы о компании Василёк в Пскове». Здесь без проблем.

Также на этой же странице хочу выводить другой блок: «Отзывы о компании Василёк в других городах». То есть в этом блоке нужно выводить все отзывы об этой компании, но исключить Псков. Как это можно сделать с помощью views и контекстных фильтров?

Лучший ответ

Аватар пользователя Orion76 Orion76 7 ноября 2018 в 13:02

да.. не нужен Вам этот модуль..

В настройках контекстного фильтра в самом низу есть филдсет "ЕЩЁ"
если его раскрыть, то в самом низу будет чекбокс "Exclude" (Исключить)

Вот он и должен сработать как надо..

Комментарии

Аватар пользователя buldozer_kpi buldozer_kpi 7 ноября 2018 в 0:57

Не совсем понимаю зачем здесь similarterms. Я как раз похожие материалы выводить умею. А вот как вывести материалы по одному словарю, но, в то же время, исключить по другому? Где какие галочки нужно поставить?

Аватар пользователя buldozer_kpi buldozer_kpi 7 ноября 2018 в 3:44

Прочитал, но не увидел информации, каким образом модуль может решить задачу. Либо я запутанно описал свою задачу и вы не поняли ее, либо я не понял как правильно настроить фильтр, что бы в блоке исключить из вывода материалы, имеющие термин, аналогичный термину страницы, на которой расположен этот блок.

Аватар пользователя Orion76 Orion76 7 ноября 2018 в 9:15

судя по описанию данного модуля: https://www.drupal.org/project/views_negate
это то что нужно.

т.е. в нужном вьюсе-блоке для контекстного фильтра "Город" необходимо установить галку "Negate" (добавляется на форму настройки фильтров данным модулем), и выборка будет выдавать все "результаты", за исключением "результата" с городом, ИД которого указан в адресной строке.

Аватар пользователя buldozer_kpi buldozer_kpi 7 ноября 2018 в 12:17

По описанию модуль должен подойти, но после его установки чекбокс не появился в контекстном фильтре, кэш чистил.

Аватар пользователя Orion76 Orion76 7 ноября 2018 в 13:02

да.. не нужен Вам этот модуль..

В настройках контекстного фильтра в самом низу есть филдсет "ЕЩЁ"
если его раскрыть, то в самом низу будет чекбокс "Exclude" (Исключить)

Вот он и должен сработать как надо..

Аватар пользователя buldozer_kpi buldozer_kpi 7 ноября 2018 в 13:27

В Содержимое: Has taxonomy term ID нет такого чекбокса. Он есть в Содержимое: Nid, либо в поле, которое ссылается на термин. Но по этим полям исключение почему-то не работает или я что-то не так делаю. Для ясности как у меня устроена фильтрация:

Есть один фильтр Содержимое: Has taxonomy term ID --> Обеспечить значение по умолчанию --> Taxonomy term ID from URL --> Ограничить термины словарем [Компания] --- Этим самым я вывожу в блоке отзывы о конкретной компании

Есть другой фильтр Содержимое: Has taxonomy term ID --> Обеспечить значение по умолчанию --> Taxonomy term ID from URL --> Ограничить термины словарем [Город] --- Этим самым я вывожу в блоке отзывы о компаниях в конкретном городе.

В сумме эти два фильтра способны вывести отзывы о конкретной компании в конкретном городе. Но вот ИСКЛЮЧИТЬ данные по второму фильтру не получается, чекбокса такого в Has taxonomy term ID нет. Там есть другой чекбокс "Не показывать элементы без значения в сводке", но я не понял для чего он и не заметил его влияния в своей задаче.

Аватар пользователя Orion76 Orion76 7 ноября 2018 в 16:23

Натыкался на видео-руководство по реализации подобного, на английском.
Там сначала создавалась связь с термином (например Город).
А потом уже добавлялся контекстный фильтр ID Термина, для этой связи.

Аватар пользователя buldozer_kpi buldozer_kpi 8 ноября 2018 в 22:48

Добавление связи с терммином таксономии и проставление галочки Исключить решило мою задачу. Всем спасибо за подсказки.