Фильтровать Представление по Значению Ссылки На Объект Из Текущего Узла
Я уже некоторое время пытаюсь разобраться в этом, я считаю, что это должно быть легко, но я все еще не могу решить эту проблему. Я в этом деле новичок. -_-
У меня есть 3 типа контента
- Место проведения
- Еда
- Пакет
У меня есть список мест, которые будут использоваться в качестве справочного материала для Еды. Таким образом, тип содержимого Food имеет поле ссылки на сущность ->field_venue
Еда будет доступна только в том месте, где она будет упоминаемый.
Тип содержимого пакета содержит ссылку на сущность Место проведения и Продукты питания . На нем показано место проведения и доступные блюда.
Я использую Виджет представления ссылки на сущность для ссылки на сущность в типе содержимого пакета. Место проведения работает хорошо.
Моя проблема - это Еда.
Мне нужен виджет представления ссылок на объекты (ПРЕДСТАВЛЕНИЕ), который показывает доступную еду для места проведения.
В форме пользователь будет только быть в состоянии ответить на Поле места проведения. После этого форма будет сохранена , и на странице отобразится поле ссылки на сущность для продуктов питания, то есть место, где пользователь ответит на это поле.
В виджете представления ссылок на сущности Еда У меня есть следующее:
Критерии фильтрации: Тип контента: Еда
Отношения: Ссылка на сущность: Указанная сущность (field_venue), помеченная как обязательная
Проблема заключается в том, что в представлении отображается вся еда, даже если выбранное место недоступно для этой еды. Я не знаю, куда поставить это условие. Либо по контекстному фильтру, либо по критериям фильтра. Я не уверен. Мне просто нужно представление, чтобы получить Ответ места проведения из той же формы/узла, чтобы еда автоматически фильтровалась.
Есть ли кто-нибудь, кто сможет помочь?
Большое вам спасибо!!!
3 answers
Я получил это, работая с этой настройкой:
Контекстный фильтр: field_venue -> Укажите значение по умолчанию ->PHP-код ->Код контекстного фильтра PHP
$узел=menu_get_object(); возвращает $узел->field_venue_for_catering['und'][0]['идентификатор цели'];
- "field_venue" - это поле места проведения из "Еда"
- "field_venue_for_catering" - это поле места проведения из "Пакета".
Не совсем то, что вы хотите, но вы можете попробовать добавить критерий фильтра для места проведения в представление "Еда" и выставить критерий. Таким образом, пользователь может фильтровать еду вручную в виджете.
Мне нужно было отфильтровать представление на основе поля таксономии в типе контента. Я нашел способ сделать это, и это очень просто.
1 - создайте контекстный фильтр -> выберите указать значение по умолчанию.
2 - выберите тип -> Идентификатор термина таксономии из URL, под ним появятся новые флажки.
3 - проверьте следующее: Загрузите фильтр по умолчанию со страницы терминов, Загрузите фильтр по умолчанию со страницы узлов, это хорошо для связанных блоков таксономии, ограничьте термины по словарному запасу.
4- выберите словарь, на основе которого вы хотите отфильтровать.
5- Обработка нескольких значений: Фильтр для элементов, которые разделяют все термины.