Часто, при создании сайтов с большим количеством нод, может понадобиться создать блок, в котором выводится список похожих материалов. Например, если посетитель вашего сайта просматривает информацию про телевизор, вы можете вывести блок с телевизорами, имеющими такую-же диагональ, тип матрицы и другие критерии.
Сейчас мы рассмотрим как создать такой блок, с похожими материалами, при помощи модуля Views.
- Создайте представление, отображаемое в виде блока.
- Добавьте Контекстный фильтр (Contextual filter) -> Содержимое: Nid (Content: Nid) -> Передать значение по умолчанию (Provide default value) -> ID материала из URL (Content ID from URL).
- Добавьте Связь (Relationship) -> Содержимое: Термины таксономии материала (Content: Taxonomy terms on node) -> Укажите словарь, по которому будет определяться похожесть материала.
- Добавте Связь (Relationship) -> Термин таксономии: Содержимое, используя Жанр (Taxonomy term: Content using vocabulary) -> Снимите чекбокс Эта связь обязательна (Require this relationship)
- Включите агрегацию представления
- Перейдите к полям. Для каждого поля, укажите связь, ту, которую вы настроили в пункте #4.
- Для того, чтоб настроить сортировку, следует добавить новый критерий Содержимое: Nid (Content: Nid). В параметрах агрегации выберите Счетчик (Count). Укажите связь, ту, которую вы настроили в пункте #4.
- Добавьте Контекстный фильтр (Contextual filter) -> Содержимое: Nid (Content: Nid) -> Передать значение по умолчанию (Provide default value) -> ID материала из URL (Content ID from URL) -> Прокрутите вниз, нажмите кнопку Еще и установте чекбокс Исключить (Exclude). Это позволит запись, с которой мы сравниваем ноды, исключить из списка.
Теперь, для того, чтоб проверить работоспособность запроса, прокрутите немного вниз, введите ID ноды и нажмите кнопку Обновить предпросмотр.
Обратите внимание, что при предпросмотре, ID ноды надо указывать два раза, через косую черту, например, если нода имеет номер 12, то мы пишем в строке "12/12".
Добавить комментарий