Здравствуйте.
Воспользовалась Вашим кодом. Спасибо, заработало, правда только после изменения вот этого куска
<xsl:when test="$current_group_id = @id or count(.//group[@id=$current_group_id])=1">
на этот:
<xsl:when test="$current_group_id = @id or count(.//group[@id=$current_group_id])=0">
.
Ваш код почему-то выводил только главные категории. При замене кода стали высвечиваться все категории, подкатегори и субкатегории и тд.
Подскажите, можно ли сделать так, чтоб НЕ высвечивались СУБкатегории и далее. Только категории и подкатегории. К сожалению, описание подобной ситуации на форуме не нашла. Ваш код:
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE xsl:stylesheet>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output xmlns="http://www.w3.org/TR/xhtml1/strict"
doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" encoding="utf-8"
indent="yes" method="html" omit-xml-declaration="no" version="1.0"
media-type="text/xml"/>
<xsl:template match="/">
<xsl:apply-templates select="shop"/>
</xsl:template>
<!-- Шаблон для магазина -->
<xsl:template match="/shop">
<xsl:variable name="parent_group_id" select="@current_group_id"/>
<!-- Выводим группы магазина -->
<ul>
<xsl:apply-templates select="//group[@parent=0]"/>
</ul>
</xsl:template>
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:variable name="current_group_id" select="/shop/ТекущаяГруппа"/>
<li>
<xsl:choose>
<xsl:when test="$current_group_id = @id or count(.//group[@id=$current_group_id])=0">
<a href="{/shop/path}{fullpath}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
<xsl:if test="count_all_groups >0">
<ul>
<xsl:apply-templates select="group"/>
</ul>
</xsl:if>
</xsl:when>
<xsl:otherwise>
<a href="{/shop/path}{fullpath}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
</xsl:otherwise>
</xsl:choose>
</li>
</xsl:template>
</xsl:stylesheet>
и соответственно:
<?php
$shop = & singleton('shop');
$shop_id = '1';
$rez = array();
$rez = $shop->GetItemPath($shop_id);
$external_propertys = array();
$external_propertys['ТекущаяГруппа'] = $rez['group'];
$param = array('current_group_id' => 0, 'items_on_page' => 10);
$param['xml_show_group_type'] = 'all';
$shop->ShowShop($shop_id, 'ЛевоеМеню', $param, $external_propertys);
?>