Вывод ссылок на товары из подгрупп на страницу списка товаров каталога

#
Вывод ссылок на товары из подгрупп на страницу списка товаров каталога
Если несложно, большая просьба помочь немного изменить каталог

Есть каталог, со стандартными XSL шаблонами, на главной странице каталога записи выводятся как в стандартном каталоге-примере:

- НазваниеПодгруппы1СоСсылкойНаПодгруппу1
- НазваниеПодгруппы2СоСсылкойНаПодгруппу2
---- НазваниеТовараИзГлавнойГруппыСоСсылкойНаЕгоОписание1
---- НазваниеТовараИзГлавнойГруппыСоСсылкойНаЕгоОписание2
---- НазваниеТовараИзГлавнойГруппыСоСсылкойНаЕгоОписание3
---- НазваниеТовараИзГлавнойГруппыСоСсылкойНаЕгоОписание4
и т.п.

А хотелось бы сделать, чтобы под названием подгруппы со ссылкой на нее, были и прямые ссылки (по названию товара) на страницы с описанием соответствующего товара, т.е.

- НазваниеПодгруппы1СоСсылкойНаПодгруппу1
-- НазваниеТовараИзПодгруппы1СоСсылкойНаЕгоОписание1
-- НазваниеТовараИзПодгруппы1СоСсылкойНаЕгоОписание2
-- НазваниеТовараИзПодгруппы1СоСсылкойНаЕгоОписание3
- НазваниеПодгруппы2СоСсылкойНаПодгруппу2
-- НазваниеТовараИзПодгруппы2СоСсылкойНаЕгоОписание1
-- НазваниеТовараИзПодгруппы2СоСсылкойНаЕгоОписание2
-- НазваниеТовараИзПодгруппы2СоСсылкойНаЕгоОписание3
---- НазваниеТовараИзГлавнойГруппыСоСсылкойНаЕгоОписание1
---- НазваниеТовараИзГлавнойГруппыСоСсылкойНаЕгоОписание2
---- НазваниеТовараИзГлавнойГруппыСоСсылкойНаЕгоОписание3
---- НазваниеТовараИзГлавнойГруппыСоСсылкойНаЕгоОписание4

Но ссылки на подгруппы от подгрупп (подгруппы следующего более глубокого уровня вложенности, и товары, которые входят в подгруппы более глубокого уровня вложенности), выводить не нужно - только список товаров, которые непосредственно входят в соответствующую подгруппу - как сейчас показываются подгруппы, которые глубже текущей всего на один уровень, так и оставить

Большая просьба показать, как модернизировать шаблон. Спаибо!
#
Re: Вывод ссылок на товары из подгрупп на страницу списка товаров каталога
Реализация в 2 этапа:
1. внести изменения в типовую динамическую страницу "Информационная система"(выделено жирным):
/* Вывод списка */
      if($result['item'] == false)
      {
         /* Отображаем информационную систему */
$in = 0;

$mas_group = $GLOBALS['InformationSystem']->GetGroupsInformationSystem(0, to_int($GLOBALS['InformationSystem_id']));
         foreach ($mas_group as $key => $value)
         {
            $in .= ','.$value['information_groups_id'];
   
         }
         $element['type']=0;
         $element['prefix'] = ' and (';
         $element['name'] = 'information_items_table.information_groups_id';
         $element['if'] = ' IN ('.$in.') ';
         $element['value'] = '';
         $element['sufix']=')';
         $property['select'][]=$element;
   
      $result['group'] = false;

         $GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, $result['group'], $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
...

2. внесение исправлений в XSL-шаблон для каталога товаров:
...
<!-- Отображение подгрупп данной группы -->
   <ul>
      <xsl:apply-templates select="//group[@parent_id=$parent_group_id]" mode="groups" />
   </ul>

   <!-- Отображение записи информационного блока -->
   <xsl:apply-templates select="blocks/items/item[item_status=1 and @group_id=0]" />
...
<!-- ======================================================== -->
<!-- Шаблон выводит ссылки подгруппы информационного элемента -->
<!-- ======================================================== -->
<xsl:template match="group" mode="groups">
<xsl:param name="cur_gr" select="@id" />

   <li>
      <xsl:if test="small_image!=''">
         <a href="{/document/blocks/url}{fullpath}" target="_blank"><img src="/upload/{small_image}" /></a>&#xA0;
      </xsl:if>
      <a href="{/document/blocks/url}{fullpath}"><b><xsl:value-of disable-output-escaping="yes" select="name" /></b></a>&#xA0;<span style="color: #dadada">(<xsl:value-of select="count_all_items" /> )</span><br/>

<!-- Отображение записи информационного блока -->
<div style="margin-left: 10px">
   <xsl:apply-templates select="//item[item_status=1 and @group_id=$cur_gr]" />
</div>

   </li>
</xsl:template>
#
Re: Вывод ссылок на товары из подгрупп на страницу списка товаров каталога
а как сделать подобный фильтр, чтобы в xml передавались данные только о текущей группе и ее элементах и всех ее подгрупп, подподгрупп (и тп) и их элементов, т е все что ниже ее по иерархии

сейчас сделано халтурным способом

if($result['item'] == false)
      {
         $external_propertys['thisgroup'] = $result['group'];

         $GLOBALS['LA_InformationSystem']->ShowInformationSystem($InformationSystem_id, false, $xsl_list, $InformationResult['items_on_page'], $InformationResult['items_begin'], $external_propertys, $property);
      }


и в xsl обрабатываем группу с id thisgroup и все с parent thisgroup

но xml вырос до 10 Мб и страницы открываются по 10 сек и больше
хочется оптимизировать xml
Авторизация