два контекстных фильтра views

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

Аватар пользователя MishaZP MishaZP 15 ноября 2015 в 11:39

делаю интернет-магазин продуктов с принтами (футболки, майки, брелки…) Тип материала: продукт, имеет поля term reference: 1) Тип продукта (мужская футболка, женская футболка…) 2) Теги (авто, музыка…). На странице продукта (к примеру, Мужская футболка Rammstein), необходимо настроить блок views “Похожие продукты” по Тегу (например “музыка”) и по названию продукта. Как я понимаю на данный момент, это два контекстных фильтра : первый ищет совпадения по словарю “Теги”, второй ищет совпадения по словарю “название продукта”. В итоге хочется иметь блок, в котором будут отображаться похожие по тегам материалы такого же типа, например, если находимся на странице с мужской футболкой, это будет таблица мужских футболок

Комментарии

Аватар пользователя bumble bumble 15 ноября 2015 в 12:58

Как сделать: http://xandeadx.ru/blog/drupal/553

«второй ищет совпадения по словарю “название продукта”»
У Вас есть словарь с терминами из составляющих названия товаров?
«если находимся на странице с мужской футболкой, это будет таблица мужских футболок»
Нужно фильтровать по тегам + по категории (Тип продукта).

Аватар пользователя MishaZP MishaZP 15 ноября 2015 в 13:24

Три словаря привязаны к типу материалов "Продукт" (Отображение). "Название макета" (Superman, Mercedes), "Название продукта" (Мужская толстовка, Женская майка), "Теги" (Музыка, Авто). К примеру, находимся на странице отображения продукта "Мужская толстовка Mercedes". Здесь хочется вывести два блока: 1) Продукты с этим макетом (Все товары Mercedes). Это я сделал, по аналогии с Вашей ссылкой. 2) Продукты, которые привязаны к термину "Название продукта", соответсвующему данной странице (для "Мужская толстовка Mercedes" это "Мужская толстовка") И похожие по словарю "Теги". Естественно, контекстный фильтр "Теги" для вывода похожих я сделал, но добавить второй конт. фильтр, который бы отфильтровывал только продукты с таким же термином словаря "Название продукта". Вот. Спасибо!

Аватар пользователя bumble bumble 15 ноября 2015 в 13:47

Зачем второй контекстный фильтр?
<тавтология>Фильтр фильтрует</тавтология> по всем терминам, если нужно по конкретным словарям - нужно ограничить в настройках фильтра, или связи.

Аватар пользователя MishaZP MishaZP 15 ноября 2015 в 13:51

Вы уже мне помогли, направив в нужную сторону. Было бы замечательно, если бы немного поподробнее, как это реализовать. Спасибо!

Аватар пользователя MishaZP MishaZP 15 ноября 2015 в 16:12

добавляю поле fields: Содержимое: Название продукта (Group results together, Group column: tid, don`t use relationship) + Relationships: Термин таксономии: Содержимое using Название продукта (require - не отмечено) + Filter criteria Содержимое: Название продукта (field_product_name) (Agregation: Group results together, selection: autocomplete, relationship: field_product_name, operator(?) is one of - оставил пустым)
views block
views

Аватар пользователя MishaZP MishaZP 16 ноября 2015 в 10:28

что может быть не так? фильтр ведь статический, а контекстный - динамический. Исходя из этого, логично было бы что для моей задачи нужны два контекстных.
Думал еще над вариантами: 1) для каждого типа товаров (по словарю "Название продукта") создать отдельную вьюху со статическим фильтром по термину таксономии (из этого словаря) и контекстным по тегам, и отображать нужную через Context module (если не ошибаюсь, в модуле Panels тоже есть контекстные зависимости, может через него?). 2)для каждой ноды (к примеру Мужская футболка Superman) в Pathauto (URL) указать добавление ID привязанного термина из словаря "Название продукта", создать отдельный Relationship во вьюхе и через него вывести контекстный фильтр. Огромная благодарность всем отозвавшимся:)