Блог SOPDU


RSS

Январь 04, 2016

XSL IF ELSE и вывод дополнительного свойства по «галочки»


В XSL нет такого понятия как if else , как в PHP.
Но все же нечто подобное есть.
Конструкция следующая:
<xsl:choose>
   <xsl:when test="УСЛОВИЕ"> //это if
      Действие удовлетворяющее условия
   </xsl:when>
   <xsl:otherwise> // это else
      Действие не удовлетворяющее условию
   </xsl:otherwise>
</xsl:choose>

Допустим у нас дополнительное свойств «галочка».
Нам нужно, что бы по активной галочки выполнялось какое-то действие, а без галочки выполнялось другое действие в XSL.


Активная галочка дает значение 1. Не активная значение FALSE.
Имя свойства галочки задали "active".

Реализация достаточно проста:
<xsl:choose>
   <xsl:when test="property_value[tag_name='active']/value=1"> // если галочка активна
      Выполняем действие элемента где активна галочка
  </xsl:when>
  <xsl:otherwise> // если галочка не активна
      Выполняем действие элемента где галочка не
  </xsl:otherwise>
</xsl:choose>

Запись в: HostCMS - Тэги: HostCMS, content, условие, XSL, логика


1
Константин
:idea:
Спасибо за столь подробное описание решения.
Я бился над этим две недели, перерыл весь гугл, и не смог найти как решить мою задачу.

Наконец-то, я могу решить эту задачу!!!
Спасибо за описание!
Имя Цитировать 1
0
sopdu
Константин, не за что. Рады поделится интересными решениями  ;)
Имя Цитировать 0
 
Текст сообщения*
Защита от автоматических сообщений