Вывод поля в зависимости от условия (XSLT)

Материал из Umicms
Перейти к:навигация, поиск

Актуально для версии 2.9

Для того, чтобы поле выводилось только при определённых условиях, либо наоборот, в XSLT шаблонах можно использовать условные операторы <xsl:if></xsl:if>. Это может понадобиться, когда поле типа "Цена" содержащее 0 не нужно выводить (Данное поле может либо содержать значение, либо 0 пустую строку в него поместить нельзя). Например у нас есть некоторые параметры, типа "Цена" не заполнены, и требуется выводить их только в случае наличия в них значений отличных от "0". Приведём пример, где идёт сравнение поля с 0:

<xsl:if test="(document(concat('uobject://',@id,'.price'))/udata/property/value/)!=0 " >
      <xsl:value-of select="document(concat('uobject://',@id,'.price'))/udata/property/value/" />
</xsl:if>

В этом случае, цена выведется на страницу, только если она не равна нулю.