загляните сюда http://umihelp.ru/forum/index.php/topic,1898.msg8329.html#msg8329
Спасибо, admin!
Но пока в моём случае условие не выполняется...
Попробую теперь наглядно представить вопрос:
http://joxi.ru/umQqVIwyTJDZAsqftHk - на этом скриншоте раздел "Торговое оборудование 11" имеет дочерние вложения в виде подразделов, которые только и надо вывести пользователю,, находящемся в этом же разделе "Торговое оборудование 11" на сайте кроме всех остальных разделов с подразделами "Торговое оборудование 22" "Торговое оборудование 33" "Торговое оборудование 44", которые вот пока выводятся, игнорируя условие $parents/page/@id = @id or $document-page-id = @id - см. второй скриншот http://joxi.ru/I2cqVIwyTJA6A-Hrxs0
<!-- условие - отображать только тот раздел в котором мы находимся -->
<xsl:if test="$parents/page/@id = @id or $document-page-id = @id">
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/', @id))" />
</xsl:if>
Axiomateria, я правильно понимаю, что вам нужно выводить список разделов первого уровня ("Торговое оборудование 11", "Торговое оборудование 22" и т.д.) на всех страницах, за исключением страниц данных разделов и дочерних к ним.
А на странциах этих разделов и дочерних к ним надо выводить в левом (или где-там у вас выводиться этот блок) блоке только подразделы (то есть разделы второго уровня вытягивая их из разделов первого уровня являющегося текущей странице или родителем текущей страницы)? Если да, то:
вначале следует определить какой id передавать, чтобы вывести соответствующий список разделов.
<xsl:variable name="category-parent-id">
<xsl:choose>
<xsl:when test="count(result/parents/page) > 1 and @module='catalog'">
<xsl:value-of select="result/parents/page[2]/@id"/>
</xsl:when>
<xsl:otherwise>551</xsl:otherwise>
</xsl:choose>
</xsl:variable>
вызов разделов
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/',$category-parent-id,'/1000'))/udata"/>
В итоге, у вас система будет выводить либо разделы 1 уровня (я предположил, что id у раздела "Каталог" = 551), либо разделы второго уровня текущей ветки, если мы находимся в подразделе или на странице товара
P.S. ну и шаблоны для вывода подразделов оформите или подключите через mode
Спасибо admin! Свет в конце тоннеля появился вот после такого вызова:
<xsl:variable name="category-parent-id">
<xsl:choose>
<xsl:when test="count(result/parents/page) > 1 and @module='catalog'">
<xsl:value-of select="result/parents/page[2]/@id"/>
</xsl:when>
<xsl:otherwise>207</xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/catalog//',$category-parent-id,'/1000'))/udata" mode="menu_category"/>
и его обработки:
<xsl:template match="udata[@method = 'getCategoryList']" mode="menu_category">
<ul class="catalog_menu" umi:button-position="bottom left" umi:element-id="{@category-id}" umi:region="list" umi:module="catalog" umi:sortable="sortable">
<xsl:apply-templates select="//item" mode="menu_category" />
</ul>
</xsl:template>
<xsl:template match="udata[@method = 'getCategoryList']//item" mode="menu_category">
<li umi:element-id="{@id}" umi:region="row">
<a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;">
<xsl:value-of select="." />
</a>
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/', @id))" mode="menu_category" />
</li>
</xsl:template>
НО если углубится в структуру этого раздела "Торговое оборудование 11" далее по ссылкам и его меню, то в его дочерних подразделах сами пункты меню пропадают...
Возможно ещё надо как-то вот этот момент доработать, что бы структура в меню этого раздела оставалась доступной вне зависимости от погружения в дочерние подразделы родительского раздела (ну например что бы пользователь всегда видел все доступные пункты меню родительского раздела "Торговое оборудование 11" для ориентированной навигации)
<xsl:template match="udata[@method = 'getCategoryList']//item" mode="menu_category">
<li umi:element-id="{@id}" umi:region="row">
<a href="{@link}" umi:field-name="name" umi:delete="delete" umi:empty="&empty-section-name;">
<xsl:value-of select="." />
</a>
<xsl:apply-templates select="document(concat('udata://catalog/getCategoryList/void/', @id))" mode="menu_category" />
</li>
</xsl:template>
?