Сортировка элементов справочника средствами XSLT

Материал из Umicms
Версия от 20:34, 4 июня 2013; Mad grant (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к:навигация, поиск

При выводе значений справочника, по умолчанию, сортировка происходит по названию элемента справочника, чтобы изменить сортировку можно воспользоваться xslt функцией sort. Без сортировки, один из шаблонов, который отвечает за вывод значений справочника, может выглядеть следующим образом:

<xsl:template match="field[values]" mode="fieldValue">
    <xsl:apply-templates select="values/item[@selected='selected']" mode="fieldOption"/>
</xsl:template>

чтобы подключить сортировку, необходимо прописать функцию sort внутри apply-templates:

<xsl:template match="field[values]" mode="fieldValue">
   <xsl:apply-templates select="values/item[@selected='selected']" mode="fieldOption">
      <xsl:sort select="@id"/>
   </xsl:apply-templates>
</xsl:template>


<xsl:sort select="@id"/> - @id это значение, по которому будет произведена сортировка. Также можно указать атрибут order, он может принимать значения: ascending или descending.