UMIhelp
Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: nunucbku от 17 Декабря 2013, 13:38:47
-
Здравствуйте. У меня есть набор значений в массиве:
<xsl:value-of select="$item//property[@name='название_свойства']/value" />
<xsl:value-of select="$item//property[@name='название_свойства2']/value" />
....
<xsl:value-of select="$item//property[@name='название_свойства15']/value" />
Мне надо вывести первое ненулевое значение из этого массива. Подскажите, как это сделать?
-
Здесь проще взять группу полей и использовать, например:
<xsl:apply-templates select="document('udata://Здесь ваш вызов')//group[@name = 'Ваша группа полей']/property" mode="info" />
И дальше:
<xsl:template match="property" mode="info">
<xsl:variable name="val" select="value" />
<xsl:if test="$value > '0'">
Ваши действия
</xsl:if>
</xsl:template>
-
Я сделал такое решение (и оно работает):
<xsl:apply-templates select="($item//property[@name='bla2']/value | $item//property[@name='bla1']/value | $item//property[@name='bla']/value)[not (. = 0)][1]" />
Подскажите, в плане оптимизации и скорости, которое лучше?
-
В плане скорости думаю ваше будет по быстрее не много, не не существенно!
Но вот мой вариант более гибко можно кастомизировать, да и проще в будущем будет ориентироваться!