Вывод групп в виде меню, начиная с определенного уровня

#
Вывод групп в виде меню, начиная с определенного уровня
Здравствуйте!
В Демо-магазине HostCMS 5 есть возможность вывода подгрупп с помощью xsl-шаблона "МагазинГруппыТоваровНаГлавной".

Есть интернет-магазин со структурой:

Страна -> Бренды -> Коллекции -> ... (N-1) -> (N) -> товар коллекции

Подскажите, пожалуйста, как можно вывести группы товаров таким образом, чтобы начинать отображение не со страны, а с бренда? (т.е. со 2-го уровня каталога)

Может быть есть возможность вывода и с любого указанного уровня, например (N-1), (N)?

Заранее спасибо за помощь!
Модератор
#
Re: Вывод групп в виде меню, начиная с определенного уровня
Вы можете указывать ID группы, с которой выводить товары, а группы выводятся всегда только в 3-х режимах - текущая, дерево и все группы. вывести группы только с такой-то невозможно, т.к. выводится дерево групп от корня.
#
Re: Вывод групп в виде меню, начиная с определенного уровня
Спасибо, я нашел немного другое решение:

<?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">
      
      <h2>По брендам</h2>
      
      <ul class="left_menu" id="shop_menu">
         <xsl:apply-templates select="group"/>
      </ul>
   </xsl:template>
   
   <!-- Шаблон для групп товара -->
   <xsl:template match="group">
      <li>
         <xsl:if test="@parent != 0 and count(ancestor::group) = 1">
            
            &#8212;
            <a href="{/shop/path}{fullpath}">
               <xsl:value-of disable-output-escaping="yes" select="name"/>
            </a>
         </xsl:if>
         <xsl:if test="group">
            <xsl:apply-templates select="group"/>
         </xsl:if>
      </li>
   </xsl:template>
</xsl:stylesheet>
#
Re: Вывод групп в виде меню, начиная с определенного уровня
<xsl:if test="@parent != 0 and count(ancestor::group) = 1"> - отсчитывает 2ю группу от начала и отображает только ее. Если поставить count(ancestor::group) > 1,  то будет отображать и все вложенные группы
Авторизация