Вывод одного типа материала в другом при совпадении терминов таксономии

Аватар пользователя sts911 sts911 30 августа в 18:20

Добрый день. Не могу решить вот такую задачу:

Есть 2 типа материалов: Магазин и Товар. У этих типов материалов есть общий словарь таксономии Список магазинов. Создаю тип материала Магазин и присваиваю ему значение из словаря Список магазинов - Пума, создаю тип материала Товар и присваиваю ему значение из словаря Список магазинов - Пума

Как настроить вывод товаров для каждого магазина, чтобы выводились только его товары?
Понимаю что это через views, но вот фильтрацию не могу настроить.
Заранее благодарен за ответы.

Комментарии

Аватар пользователя ivnish ivnish 30 августа в 18:28

А вы просто балуетесь или это реальный проект для магазина? Если второе, то для этого есть специализированные модули, например commerce

Аватар пользователя sts911 sts911 30 августа в 18:37

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

Аватар пользователя VasyOK VasyOK 30 августа в 19:37

Даже если человек и балуется, на чем то же нужно учиться. Лучше что-то делать, а не спрашивать: "подойдет ли Друпал для сайта типа Амазон".

По делу.
1. Представление 1.
Контекстные фильтры Содержимое: Имеет идентификатор термина таксономии. Когда значение фильтра НЕ доступно - Передать значение по умолчанию - ID термина из URL.
Критерии фильтрации. Тип материала = товар.
Поля: Название, Фото, Цена.

2. Представление 2.
Контекстные фильтры Содержимое: Nid. Передать значение по умолчанию: ID материла.
Взаимосвязи. Содержимое: Список магазинов - поле которое ссылается на словарь.

Поля.
Термин таксономии: ID термина. Исключить из вывода. Разделитель тысяч - нет.
Глобальный: Просмотр. (От модуля views_field_view) Просмотр/Показать: Представление 1 (см выше). Контекстные фильтры [%tid].

3. На типе контента Магазин viewfield поле "Вывод товаров". Always use default value. Допустимые значения Представление 2. Значение по умолчанию Представление 2 нужный дисплей. Аргументы [node:nid].

Можно пункт 3 заменить просто блоком Представления 2 на ноде.

Аватар пользователя sts911 sts911 30 августа в 20:16

Сделал по Вашей инструкции, но вывода добиться не получилось.
Настройки Представления 1

Контекстный фильтр представления1

Настройки представления 2

Контекстный фильтр представление 2

Связь в представлении 2 (Поле ссылающиеся на словарь для материала Товар)

Поле глобальное представление в представлении 2

В чем моя ошибка?