UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: john от 25 Мая 2013, 10:52:38

Название: Как вывести другое поле в меню каталога
Отправлено: john от 25 Мая 2013, 10:52:38
При стандартном выводе меню каталога использую код
<xsl:template match="udata[@method = 'getCategoryList']" mode="top-column">
   <xsl:apply-templates select="//item" mode="top-column" />
</xsl:template>

<xsl:template match="udata[@method = 'getCategoryList']//item" mode="top-column">
<a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;"><xsl:value-of select="." /></a>
</xsl:template>
Данная конструкция работает
<xsl:value-of select="." />
А когда использую такую
<xsl:value-of select="@title" /> 
или <xsl:value-of select="@h1" />
Ничего не выводит.
Название: Re:Как вывести другое поле в меню каталога
Отправлено: john от 26 Мая 2013, 00:40:59
Попробовал использовать урок, вывел меню через usel
http://umihelp.ru/articles/usel-multilevel-menu/
Код из статьи работает
<xsl:value-of select="name" />
А вот так уже нет
<xsl:value-of select="h1" />
Название: Re:Как вывести другое поле в меню каталога
Отправлено: admin от 31 Мая 2013, 13:08:00
прежде чем пробовать вывести какой-то параметр, проверьте есть ли он в исходном xml

Это можно сделать вставит <xsl:copy-of select="." /> в тот шаблон, в котором предполагается использование данных параметров.

Скорее всего надо использовать вывод расширенных данных (extProps). в udata (http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/makrosy_protokol_udata/#extended) и usel (http://dev.docs.umi-cms.ru/shablony_i_makrosy/xslt-shablonizator_umi_cms/vyborki_iz_bd_protokol_usel/#extended) вывод доп данных различается (см. в документации)
Название: Re:Как вывести другое поле в меню каталога
Отправлено: john от 06 Июня 2013, 22:14:00
Решил проблему:
<xsl:apply-templates select="document(concat('upage://', @id, '.h1'))/udata/property/value" mode="top-column"/>