[РЕШЕНО] условный вывод поля во VIEWS 3

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

Аватар пользователя dimapv dimapv 22 декабря 2013 в 19:03

Добрый день,

никак не получется решить такую задачу.

Commerce. Есть дисплей товара, к нему несколько продуктов. И у дисплея, и у товаров могут быть, а могут и не быть фотки. Использую стандартный вьюс из коробки, который подменяет отображение таксономии (taxonomy/term/%)

Должно быть так - выводится первая фотка из дисплея, а в случае ее отсутствия первая фотка из связанного продукта. Всего в анонсе должна быть только 1 фотка.

Никак не могу сделать... Может кто помочь?

Комментарии

Аватар пользователя dimapv dimapv 23 декабря 2013 в 9:07

Решил.
Нужно вставить relationship с referenced product. Потом в отображение нужно добавить поля: Nid, фото от связанного продукта, цена от связанного продукта, фото из дисплея и другие нужные поля. Nid и фото от связанного продукта нужно выключить отображение. Фото из дисплея должно быть ниже в списке полей чем фото из продукта. Потом в настройках поля фото из дисплея в разделе Поведение при отсутствии результатов (там где текст вводится) ввести [field_name_product_foto] - это имя поля фото из продукта. Все, теперь в случае отсутствия фото в дисплее, будет отображаться поле фото из продукта. Но если у вас несколько продуктов, то отображаться будут все фото продуктов. Чтобы это было не так, нужно 1. в настройках множественного поля настроить вывод только одной фотографии, и 2. Нужно включить и настроить агрегацию.
Настройку агрегации сделал следующим образом: Поле nid - минимум, тогда отображается только один связанный продукт, Поле цена минимум и к нему подпись Цена от: в поле отображается минимальная цена из всех привязанных к дисплею продуктов.

Как-то так. Одно смущает - подозреваю, что такой sql-запрос будет тяжеловат для исполнения, хотя может это и не так. В любом случае, изменение этих полей будет не частым и можно включить кеширование представления.

Использовал стандартный вьюс для подмены вывода терминов таксономии.