Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Условие вывода/не вывода шаблона Комментариев в Блоге

Автор BabajkaРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 3106
Последний ответ 22 Ноября 2012, 14:32:15
от admin
Подскажите, не работает условие

Автор johnРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 1689
Последний ответ 09 Сентября 2014, 09:52:51
от admin
Выполнить условие

Автор thefateРаздел Шаблоны TPL

Ответов: 2
Просмотров: 3961
Последний ответ 14 Ноября 2011, 11:15:26
от thefate

0 Пользователей и 1 Гость просматривают эту тему.

*

atach

  • ***
  • 165
  • +6/-0
    • Просмотр профиля
Посдкажите про условие xsl:if
« : 30 Июля 2013, 19:23:05 »
Подскажите как правильно пользоваться синтаксисов...
Как сделать условие - понятно, но как вставить else или empty (если нет совпадений) - непонятно ...

Проверяю наличие options к цене
<xsl:if test="options/option">Нужный текст при наличии</xsl:if>

Или вообще кк сделать условие в xslt
« Последнее редактирование: 30 Июля 2013, 19:24:43 от atach »

*

atach

  • ***
  • 165
  • +6/-0
    • Просмотр профиля
Re:Посдкажите про условие xsl:if
« Ответ #1 : 30 Июля 2013, 20:28:59 »
Не знаю на сколько это правильно, но сделал так

<xsl:when test="options/option">
<xsl:valueof test="options/option" />при условии
</xsl:when>

<xsl:otherwise>
        <xsl:valueof select="." />вместо else
</xsl:otherwise>

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Посдкажите про условие xsl:if
« Ответ #2 : 30 Июля 2013, 23:07:27 »
есть 3 часто используемых  варианта реализовать логику if-else

1. Возможный , но очень нежелательный вариант))
<xsl:if test="условие">выводим вариант 1</xsl:if>
<xsl:if test="not(условие)">выводим вариант 2</xsl:if>

2. Используем choose
<xsl:choose>
<xsl:when test="условие">
     выводим вариант 1
</xsl:when>
<xsl:otherwise>
        выводим вариант 2
</xsl:otherwise>
</xsl:choose>
Часто используемый и наглядный, но он медленнее чем 3 вариант (хотя это не значит что его никто не использует ;) )

3. Используем apply-templates самый быстрый но не всегда наглядный, хотя в 80% случаев использую его.