Привет всем!
Бьюсь над задачей, вроде бы тривиальной не первые сутки. Если кто может подскажите, что не так?
Есть темплейт, через который я вывожу на главной с помощью макроса список каталогов:
код:
<!-- Пример для списков getCategoryList - версия 2 -->
<xsl:template match="udata[@method = 'getCategoryList']" mode="test">
<ul>
<xsl:apply-templates select="//item" mode="test" />
</ul>
</xsl:template>
<xsl:template match="udata[@method = 'getCategoryList']//item" mode="test">
<li>
<a href="{@link}" >
<xsl:value-of select="." />
</a>
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/', @id, '//1/'))" mode="test1"/>
</li>
</xsl:template>
<xsl:template match="udata[@method = 'getCategoryList']" mode="test1">
<h3 style="color:red"><xsl:value-of select="ancestor::*"/></h3> *
<ul>
<xsl:apply-templates select="items" mode="test1"/>
</ul>
</xsl:template>
<xsl:template match="udata[@method = 'getCategoryList']//item" mode="test1">
<li>
<a href="{@link}" >
<xsl:value-of select="." />
</a>
</li>
</xsl:template>
Макрос на главной
<xsl:apply-templates select="document('udata://catalog/getCategoryList/1/(shop)/23//0/?extProps=header_pic,header,title,result')/udata"/>
Я пытаюсь из первого уровня, взять пункт li и замостить его в дочерний список ul'a перед всеми li с помощью
<xsl:value-of select="ancestor::*"/>
Но что- то я делаю не так.
Пытался пройти по осям,
согласно мануалу
используя parent и ancestor но, что то не так делаю.
для списков меню, у меня работает
<xsl:copy-of select="ancestor::item" />
Но выводятся еще и подпункты.
не понимаю, в чем загвоздка. Может из-за модов? что подуровень в упор не видит родителя?