В общем-то проблема такая, как вывести категории интернет-магазина в общем меню сайта? Нашла нечто похожее, но для было написано, что для магазина не реализовано пока, однако это был апрель, может уже как-то можно?
Сейчас я реализую это так
В макете
<?php
$Structure = & singleton('Structure');
$param = array();
$param['show_groups']=true;
$param['show_items']=false;
$Structure->ShowStructure(1,'ЛевоеМеню', $param);
?>
В сам шаблон добавляем
<xsl:if test="count(structure[show=1]) > 0">
<xsl:apply-templates select="structure[show=1]" mode="child_nodes"/>
</xsl:if>
и
<xsl:template match="structure" mode="child_nodes">
<!-- Запишем в константу ID структуры, данные для которой будут выводиться пользователю -->
<xsl:variable name="current_structure_id" select="/document/structure/current_structure_id"/>
<xsl:if test="show_link=1">
<!-- Определяем адрес ссылки -->
<xsl:variable name="link"><xsl:choose>
<!-- Если внешняя ссылка -->
<xsl:when test="is_external_link=1"><xsl:value-of disable-output-escaping="yes" select="external_link"/></xsl:when>
<!-- Иначе если внутренняя ссылка -->
<xsl:otherwise><xsl:value-of disable-output-escaping="yes" select="link"/></xsl:otherwise>
</xsl:choose>
</xsl:variable>
<xsl:choose>
<!-- Выделяем текущую страницу (если это текущая страница, либо у нее есть ребенок с ID, равным текущей) -->
<xsl:when test="current_structure_id=@id or count(.//structure[@id=$current_structure_id])=1">
<tr><td style="padding-left: 15px; font-weight:bold;"><p><a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a></p></td></tr>
</xsl:when>
<!-- Иначе обычный вывод с пустым стилем -->
<xsl:otherwise>
<tr><td style="padding-left: 15px;"><p><a href="{$link}"><xsl:value-of disable-output-escaping="yes" select="name"/></a></p></td></tr>
</xsl:otherwise>
</xsl:choose>
</xsl:if>
<!-- Если не показывать ссылку - выводим просто имя ссылки -->
<xsl:if test="show_link=0">
<xsl:value-of disable-output-escaping="yes" select="name"/><br />
</xsl:if>
</xsl:template>
Но так не работает ((