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