Усложним задачу, описанную в статье «Скрываем поле во Views, если другое заполнено». Добавим в тип материала еще одно поле – «Цена в евро». Напомню, что поле цены в гривнах является обязательным и будет заполнено в любом случае. В этом случае алгоритм решения задачи вывода полей цен во вьюшке следующий:
- В представлении выводим все три поля цены в порядке «Цена в гривнах», «Цена в евро», «Цена в долларах». Поля «Цена в гривнах» и «Цена в евро» исключаем из вывода.
- В настройках поля «Цена в евро» в опции «Поведение при отсутствии результатов» подставляем шаблон поля цены в гривнах.
- В настройках поля «Цена в долларах» в «Поведении при отсутствии результатов» подставляем шаблон поля цены в евро.
Таким образом, если у ноды заполнены поля цен в евро и в гривне, во вьюшке выведется стоимость в евро. Если в долларах и в гривне – выведется цена в евро. Наконец, если цена задана только в гривнах, то сработают шаблоны полей цены в евро и долларах: так как евро не заданы, в это поле подставляется цена в гривнах, а так как не указана и цена в долларах, то вместо этого поля выведется перезаписанное поле «Цена в евро».