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

#
Re: Древовидный вывод груп товаров
Никак. Отображаются все группы. Элементы не отображаются
Модератор
#
Re: Древовидный вывод груп товаров
VolT,
а элементы есть в группах? Они активны и у них дата публикации не истекла?
Покажите полностью Ваш php-код вызова, проверю.
#
Re: Древовидный вывод груп товаров
Элементы в группах есть и в самом магазине отображаются. Активны, не истекла.

      <?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'] = false;
      $param['items_on_page'] = 100;

      $param['xml_show_group_type'] = 'all';
      $xsl_catalog = 'МагазинДеревоТоваров';
      $shop->ShowShop($ShopId, $xsl_catalog, $param, $external_propertys);
      ?>

Можно посмотреть на сайте www.im-happy.ru
Модератор
#
Re: Древовидный вывод груп товаров
VolT,
а в "МагазинДеревоТоваров" есть код для вывода собственно элементов?
Модератор
#
Re: Древовидный вывод груп товаров
Пример фрагмента простого XSL-а для вывода групп и подгрупп другим стилем:
   <!-- Шаблон для групп товара -->
   <xsl:template match="group">
      <b><xsl:value-of disable-output-escaping="yes" select="name"/></b>

      <ul>
         <xsl:apply-templates select="group" mode="subgroup" />
      </ul>
   </xsl:template>

   <!-- Шаблон для ПОДгрупп товара -->
   <xsl:template match="group" mode="subgroup">
      <li>
         <a href="{/shop/path}{fullpath}"><xsl:value-of disable-output-escaping="yes" select="name"/></a>
      </li>
   </xsl:template>
#
Re: Древовидный вывод груп товаров
Добрый день!Подскажите, пожалуйста. Имеются группы товаров, так же подгруппы, при нажатии на группу весь список сворачивается, как сделать ,что бы он оставался развернутым.Код шаблона.
<!-- Шаблон для магазина -->
   <xsl:template match="/shop">
      <SCRIPT>
         <xsl:comment>
            <xsl:text disable-output-escaping="yes">
               <![CDATA[
               function show_hide_menu(id)
               {
               if (obj = document.getElementById(id)) {
               obj.style.display == 'none' ? obj.style.display = 'block' : obj.style.display = 'none';
               return false; }
               return true;
               }
               ]]>
            </xsl:text>
         </xsl:comment>
      </SCRIPT>
      
   <h2><a href="{path}" title="Интернет-магазин">Интернет-магазин</a></h2>
      
      <ul class="left_menu" id="shop_menu">
         <xsl:apply-templates select="group"/>
      </ul>
   </xsl:template>
   
   <!-- Шаблон для групп товара -->
   <xsl:template match="group">
      <li>
         <!-- Если это подпункт (родитель не равен 0) - выводим слева от него тире -->
         
         <xsl:if test="group">
            &#43;
         </xsl:if>
         
         <xsl:if test="not(group)">
            &#160;&#160;
         </xsl:if>
         
         <a href="{/shop/path}{fullpath}" onClick="return show_hide_menu('{@id}');">
            
            <xsl:value-of disable-output-escaping="yes" select="name"/>
         </a>
         
         <!-- Если есть подгруппы -->
         <xsl:if test="group">
            <ul class="left_menu " id="{@id}" style="display: none;">
               <xsl:apply-templates select="group"/>
               
            </ul>
         </xsl:if>
      </li>
   </xsl:template>
</xsl:stylesheet>
Модератор
#
Re: Древовидный вывод груп товаров
antislip,
Нарушение п. 2.4 правил форума, см. http://www.hostcms.ru/forums/rules/
Модератор
#
Re: Древовидный вывод груп товаров
antislip,
у Вас для всех подгрупп указано:
<ul class="left_menu " id="{@id}" style="display: none;">

Вынесите в условие проверку, если группа совпадает - то style будет пустым. Условие помещаете внутрь переменной mystyle, и ее указываете в
<ul class="left_menu " id="{@id}" style="{$mystyle}">
#
Re: Древовидный вывод груп товаров
Спасибо, попробую!
#
Re: Древовидный вывод груп товаров
Не могли бы вы привести пример реализации этого кода. Я в синтаксисе пока не очень еще разбираюсь, а разобраться очень хотелось.
Авторизация