Ситуация

В CMF MODx существуют TV-поля, позволяющие возвращать в контент страницы значение каких-либо переменных. Предположим, что некое поле «price» возвращает в карточку товара значение его цены. При этом в шаблоне карточки товара для вывода цены уже есть запись:

Цена: [*price*]

Соответственно, если поле не заполнено, то результат будет таким:

Цена:

Задача: предложить корректную реализацию и выводить в контенте поле только в случае, если его заполнили.


Решение

Первый вариант:

Задаём значение по умолчанию в настройках tv-поля. В случае с ценой значение по умолчанию может быть "договорная" или "не указана".

Второй вариант:

	[*price*:!empty=`Цена: [*price*]`]

Третий вариант: это вывод сообщения о незаданном значении tv-поля, используя следующий код:

	[*price*:empty=`Цена договорная!`]

Нетрудно догадаться, что получится, если применить два варианта реализации вместе:

	[*price*:!empty=`Цена: [*price*]`] [*price*:empty=`Цена договорная!`]

Информация из поля будет выводиться вместе с сопутствующим текстом или же просто будет выводиться сообщение об отсутствии должной информации.