Древовидный вывод груп товаров

Модератор
#
Re: Древовидный вывод груп товаров
Varkolak,
Пожалуйста.
#
Re: Древовидный вывод груп товаров
Добрый день, возникла та же потребность но судя повсему в современных версиях системы управления данный шаблон не работоспособен http://pigmentsstar.ru/shop/
#
Re: Древовидный вывод груп товаров
pigmentsstar, в чем именно возникла проблема с отображением списка групп?
#
Re: Древовидный вывод груп товаров
Все получилось, спасибо примеру в "Полезных решениях". Выводится все дерево групп.

Подскажите, как заставить выводиться в этом дереве и товары тоже? В XML попадают только группы. Хотя в документации написано, что ShowShop предназначен для показа товаров и групп.
#
Re: Древовидный вывод груп товаров
Апну, что ли..
Модератор
#
Re: Древовидный вывод груп товаров
VolT,
Покажите код, который Вы используете. Покажите XSL-шаблон, который используете.
#
Re: Древовидный вывод груп товаров
Шаблон:
<?xml version="1.0" encoding="windows-1251"?>
<!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="Windows-1251" 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:variable name="link_style">
            <xsl:choose>
               <!-- Выделяем текущую страницу жирным (если это текущая страница) -->
               <xsl:when test="$current_group_id = @id">font-weight: bold</xsl:when>
               <!-- Иначе обычный вывод с пустым стилем -->
               <xsl:otherwise></xsl:otherwise>
            </xsl:choose>
         </xsl:variable>
         
         <a href="{/shop/path}{fullpath}" style="{$link_style}"><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>
         
      </li>
   </xsl:template>
</xsl:stylesheet>

//----------------------------------------------------------------

Код
      <?php
      $shop = new shop();
      $ShopId = 7;
      $rez = array();
      $rez = $shop->GetItemPath($ShopId);
      $external_propertys = array();
      $external_propertys['ТекущаяГруппа'] = $rez['group'];
      $param = array();
      $param['current_group_id'] = 0;
      $param['items_on_page'] = 20;
      $param['xml_show_group_type'] = 'all';
      $xsl_catalog = 'МагазинДеревоТоваров';
      $shop->ShowShop($ShopId, $xsl_catalog, $param, $external_propertys);
      ?>
#
Re: Древовидный вывод груп товаров
В XML попадают только группы
#
Re: Древовидный вывод груп товаров
Апну, что ли. Дубль два...
#
Re: Древовидный вывод груп товаров
$param['current_group_id'] mixed идентификатор раздела магазина или массив идентификаторов, товары которого отображаются, если $param['current_group_id']=false, то отображаются элементы всех групп
Авторизация