Drupal: Блок со списком похожих материалов

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

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

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

Теперь, для того, чтоб проверить работоспособность запроса, прокрутите немного вниз, введите ID ноды и нажмите кнопку Обновить предпросмотр.

Обратите внимание, что при предпросмотре, ID ноды надо указывать два раза, через косую черту, например, если нода имеет номер 12, то мы пишем в строке "12/12".

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

В данном примере рассмотрен пример, в котором использованы исключительно возможности модуля Views. Также, есть модуль, называется Similar By Terms, который упрощает настройку вывода похожих терминов.

Добавить комментарий

Filtered HTML

  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешённые HTML-теги: <a> <s> <u> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <hr> <dd> <sub> <sup>
  • Строки и параграфы переносятся автоматически.

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Строки и параграфы переносятся автоматически.
CAPTCHA
Защита от СПАМ ботов. Подтвердите, пожалуйста, что вы человек.
2 + 12 =
Решите эту простую математическую задачу и введите результат. Например, для 1+3, введите 4.