Блок похожих товаров (материалов) в Друпал

Блок похожих товаров или Similar Items

В данном кратком руководстве мы создадим на Views обыкновенный блок похожих товаров (или предметов), то есть Similar Items. Блок будем выводить на странице материала (назовем его «товар»), а содержимым блока будут товары из той же категории, что данный. В общем, обычный блок «Смотрите также».

Сделать такой блок достаточно легко, препятствий может быть только два — нетерпение и необычное расположение одного необходимого элемента. Но обо всем по порядку.

1. Создадим новое представление Views, назовем его как-нибудь, добавим дисплей — блок, выводить будем поля. Добавим пару полей, например, заголовок и картинку. Добавим также фильтр по типу материала — выберем тип «товар».

2. В блоке «Навигатора» выберем выводить фиксированное количество элементов. Например, три.

3. Добавим критерий сортировки — выберем «Случайно».

В принципе, наш блок уже выводит три случайных товара, но пока никак не соотносится ни с просматриваемым товаром, ни с заданной категорией. Исправим это.

4. Добавим контекстный фильтр «Содержимое: Nid». Поскольку мы создаем блок, нужно указать значение фильтра по умолчанию — выберите «ID материала из URL». Теперь наше представление временно отображает только один элемент — просматриваемую ноду.

5. Теперь добавим отношение «Содержимое: Термины таксономии материала». Выберем словарь, которым определяются категории товара. Можем сделать эту связь обязательной. Для удобства зададим ей идентификатор, например «Категория».

6. Чтобы выбрать только товары данной категории, добавим еще одно отношение, «Термин таксономии: Содержимое с использованием Категории». Примерно так будет называться отношение, если поле термина таксономии в ноде-товаре называется «Категория».

При добавлении отношения укажем использовать связь из пункта 5 («Категория»). Сделаем эту связь обязательной и дадим ей какое-нибудь название, например «Товары в категории».

7. Теперь, чтобы в представлении стали появляться товары только заданной категории, щелкнем на добавленные поля (в секции «Поля») и укажем использовать связь «Товары в категории». Секция «Поля» будет выглядеть примерно как на рисунке:

Блок уже работает практически как надо. Разве что, желательно не показывать просматриваемый материал в блоке «Смотрите также» — это было бы как-то странно.

8. Добавим еще один контекстный фильтр, такой же как первый, «Содержимое: Nid». Но укажем использовать связь «Товары в категории». Секция «Дополнительно» будет выглядеть примерно так:

9. В результате содержимое блока снова сократится до просматриваемого материала, а нам нужно наоборот — чтобы именно этого материала не было. Для этого установим для нового контекстного фильтра галочку «Исключить». Находится она в неожиданном месте, где обычно никто не смотрит — в самом низу настроек контекстного фильтра, в свернутом блоке «Ещё». Ну теперь-то вы знаете, где галочка, а значит найдете.

И это всё, блок «Смотрите также» — готов.

Автора автора