Вывод подгрупп в магазине

#
Вывод подгрупп в магазине
Прошу ногами не пинать, в поиске ничего не нашел, только под 5 ветку и только по теме ИС, в полезных решениях так же не нашел под 6 ветку

Мне нужно в интернет магазине у групп сразу под ними вывести их подгруппы если таковые имеются .. нигде не нашел решения, как нужно модифицировать шаблон МагазинКаталогТоваров ?

Я так понимаю нужно модифицировать кусок

<!-- Шаблон для групп товара -->
   <xsl:template match="shop_group">
      
      <ul>
         <xsl:for-each select=". | following-sibling::shop_group[position() &lt; $n]">
            <li>
               
         <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="shop_count"><xsl:value-of select="items_total_count"/></span>
               
            </li>
         </xsl:for-each>
      </ul>
   </xsl:template>
#
Re: Вывод подгрупп в магазине
всю голову изломал - ничего не выходит
#
Re: Вывод подгрупп в магазине
Как получить id дочерних категорий? полнейший бред выходит

<xsl:template match="shop_group">
      
      
      
      
      <ul>
         <xsl:for-each select=". | following-sibling::shop_group[position() &lt; $n]">
            <li>
               
         <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="shop_count"><xsl:value-of select="items_total_count"/></span>
               
               
               <xsl:if test="count(//shop_group) &gt; 1">
                  <xsl:apply-templates select="//shop_group" mode="sub_group"/>
               </xsl:if>
               
               
            </li>
         </xsl:for-each>
      </ul>
   </xsl:template>
   
   
   
   <xsl:template match="shop_group" mode="sub_group">
      
      <xsl:variable name="parent_id" select="parent_id"/>
      
      
      <ul>
         <xsl:for-each select=". | following-sibling::shop_group[parent_id = $parent_id][position() &lt; $n]">
            <li>
               
         <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="shop_count"><xsl:value-of select="items_total_count"/></span>
               
               
               
               
               
            </li>
         </xsl:for-each>
      </ul>
   </xsl:template>
#
Re: Вывод подгрупп в магазине
<xsl:template match="shop_group">
      //Группы
      <ul>
            <li>
         <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="shop_count"><xsl:value-of select="items_total_count"/></span>
              
               <xsl:if test="count(shop_group) > 0">
               <ul>
                  <xsl:apply-templates select="shop_group" mode="sub_group"/>
               </ul>
               </xsl:if>
              
            </li>
      </ul>
   </xsl:template>
  
  
   <xsl:template match="shop_group" mode="sub_group">
            //Подгуппы
            <li>
         <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="shop_count"><xsl:value-of select="items_total_count"/></span>
            </li>
   </xsl:template>
#
Re: Вывод подгрупп в магазине
Спасибо за ответ, но не выводятся подкатегории ((
#
Re: Вывод подгрупп в магазине
С приведенным шаблоном показываются половина групп из существующих на всех уровнях вложенности, при условии что в ТДС интернет-магазин к контролеру $Shop_Controller_Show добавляю параметр ->groupsMode('all', без этого параметра вообще не выводятся подгруппы

в чем может быть проблема
#
Re: Вывод подгрупп в магазине
удалось построить! в шаблоне родительской категории потерялся
<xsl:for-each select=". | following-sibling::shop_group[position() &lt; $n]">


В итоге все это хозяйство выглядит так:

<xsl:template match="shop_group">
      
      <ul>
         <xsl:for-each select=". | following-sibling::shop_group[position() &lt; $n]">
            <li>
         <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="shop_count"><xsl:value-of select="items_total_count"/></span>
               
               <xsl:if test="count(shop_group) &gt; 0">
                  <ul>
                     <xsl:apply-templates select="shop_group" mode="sub_group"/>
                  </ul>
               </xsl:if>
               
            </li>
         </xsl:for-each>
      </ul>
   </xsl:template>
   
   
   <xsl:template match="shop_group" mode="sub_group">
      
      <li>
   <a href="{url}" hostcms:id="{@id}" hostcms:field="name" hostcms:entity="shop_group"><xsl:value-of disable-output-escaping="yes" select="name"/></a><xsl:text> </xsl:text><span class="shop_count"><xsl:value-of select="items_total_count"/></span>
      </li>
   </xsl:template>


с учетом того, если в КОДЕ страницы ТДС интернет-магазина в контролер показа магазина добавить параметр:

->groupsMode('all')


В итоге вызов построится таким образом:

$Shop_Controller_Show
   ->xsl(
      Core_Entity::factory('Xsl')->getByName($xslName)
   )
   ->itemsProperties(TRUE)
        ->groupsMode('all')
   ->show();
#
Re: Вывод подгрупп в магазине
digital7, спасибо, сильно помог.
Авторизация