Ситуация
В CMF MODx существуют TV-поля, позволяющие возвращать в контент страницы значение каких-либо переменных. Предположим, что некое поле «price» возвращает в карточку товара значение его цены. При этом в шаблоне карточки товара для вывода цены уже есть запись:
Цена: [*price*]
Соответственно, если поле не заполнено, то результат будет таким:
Цена:
Задача: предложить корректную реализацию и выводить в контенте поле только в случае, если его заполнили.
Решение
Первый вариант:
Задаём значение по умолчанию в настройках tv-поля. В случае с ценой значение по умолчанию может быть "договорная" или "не указана".
Второй вариант:
[*price*:!empty=`Цена: [*price*]`]
Третий вариант: это вывод сообщения о незаданном значении tv-поля, используя следующий код:
[*price*:empty=`Цена договорная!`]
Нетрудно догадаться, что получится, если применить два варианта реализации вместе:
[*price*:!empty=`Цена: [*price*]`] [*price*:empty=`Цена договорная!`]
Информация из поля будет выводиться вместе с сопутствующим текстом или же просто будет выводиться сообщение об отсутствии должной информации.