Скрываем поле во Views, если другое заполнено - продолжение

20 августа 2014 - 17:23

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

  1. В представлении выводим все три поля цены в порядке «Цена в гривнах», «Цена в евро», «Цена в долларах». Поля «Цена в гривнах» и «Цена в евро» исключаем из вывода.
  2. В настройках поля «Цена в евро» в опции «Поведение при отсутствии результатов» подставляем шаблон поля цены в гривнах.
  3. В настройках поля «Цена в долларах» в «Поведении при отсутствии результатов» подставляем шаблон поля цены в евро.

Таким образом, если у ноды заполнены поля цен в евро и в гривне, во вьюшке выведется стоимость в евро. Если в долларах и в гривне – выведется цена в евро. Наконец, если цена задана только в гривнах, то сработают шаблоны полей цены в евро и долларах: так как евро не заданы, в это поле подставляется цена в гривнах, а так как не указана и цена в долларах, то вместо этого поля выведется перезаписанное поле «Цена в евро».