UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: sanya@lum.ru от 14 Октября 2013, 15:53:56

Название: Странное поведение типов данных
Отправлено: sanya@lum.ru от 14 Октября 2013, 15:53:56
Здравствуйте.
В шаблоне каталога указал в дополнительных полях тип данных выпадающий список.
Выводится в выдаче xml следующее. Почему заголовок выводится а данные для этого поля нет?
<property id="402" name="zapusk" type="relation">
<title>Запуск</title>
<value>
<item id="551" name="Ручной" type-id="146" ownerId="59" xlink:href="uobject://551"/>
</value>
</property>
Название: Re:Странное поведение типов данных
Отправлено: sanya@lum.ru от 14 Октября 2013, 15:55:52
ой я затупил, в name же передаются данные )))
Название: Re:Странное поведение типов данных
Отправлено: Axiomateria от 14 Января 2014, 16:22:18
А вот у меня всё наоборот.

Вызов группы полей такой:
<xsl:apply-templates select=".//group[@name = 'card_site_full']/property" />

обработка поля с "Выпадающий список" обрабатываю шаблоном таким:
    <xsl:template match="property[@type='relation']">
        <div>                                                      
            <xsl:value-of select="title"/>
            <xsl:text>: </xsl:text>
           <xsl:value-of select="value/item/@name"/>
        </div>
    </xsl:template>
    <xsl:template match="property[@type='relation' and value = '']" />

который в xml выводит такое:
<property id="459" name="cms" type="relation">
<title>Система управления</title>
<value>
<item id="927" name="UMI.CMS Business" type-id="146" ownerId="2" xlink:href="uobject://927"/>
</value>
</property>

НО не я не понимаю почему выводится на сайте только значение   <xsl:value-of select="//@name"/> то есть "UMI.CMS Business" , а <xsl:value-of select="title"/> "Система управления"  не выводит...



Название: Re:Странное поведение типов данных
Отправлено: Axiomateria от 14 Января 2014, 16:28:20
В общем тут же всё починили, добавив привязку к шаблону  mode="cardsitefull"


и вот так всё заработало
 <xsl:apply-templates select=".//group[@name = 'card_site_full']/property" mode="cardsitefull" />
с шаблоном
    <xsl:template match="property[@type='relation']" mode="cardsitefull">
        <div>                                                      
            <xsl:value-of select="title"/>
            <xsl:text>: </xsl:text>
            <xsl:value-of select="value/item/@name"/>
        </div>
    </xsl:template>
    <xsl:template match="property[@type='relation' and value = '']" mode="cardsitefull"/>