Текущая группа товаров магазина

#
Текущая группа товаров магазина
Мне нужно добавлять класс пункту меню если мы находимся в этой группе  в xml я вообще не вижу параметра для активной группы, предполагаю что showshop нужно задать какой то параметр, иду в api и ничего там не нахожу. Помогите пожалуйста
#
Re: Текущая группа товаров магазина
ruslan.savenok писал(а):
в xml я вообще не вижу параметра для активной группы
Плохо смотрите Он сразу же виден, если читать внимательно!
Вот начало типового xml от интернет-магазина:
<?xml version="1.0" encoding="windows-1251"?>
<shop id="1" current_group_id="587">
   <user_id>0</user_id>
   <name>Демонстрационный магазин</name>
   .....

Обратиться к нему можно так:
/shop/@current_group_id

А еще,как правило во всех типовых шаблонах, в теплейте /shop это значение можно получить из переменной $parent_group_id
Заказов не беру. Консультирую редко.
#
Re: Текущая группа товаров магазина
у меня почему то это значение равно нулю http://rghost.ru/1743489.view

Пока я написал простой скрипт который сравнивает пач окна и пач страницы и при совпадении добавляет класс, но это не выход
#
Re: Текущая группа товаров магазина
забыл упомянуть что это не не стандартный xml магазина, а xml который генерирует php для показа категорий

      <?php
      // Проверяем, существует ли класс Интернет-магазина
      if (class_exists('shop'))
      {
         $shop = & singleton('shop');
         $shop_id = 1;

         $param = array();

         $param['items_on_page'] = 0;
         $param['xml_show_group_type'] = 'current';
         $shop->ShowShop($shop_id, 'МагазинГруппыТоваровНаГлавной', $param);
      }
      ?>
#
Re: Текущая группа товаров магазина
current_group_id равное 0 означает корневую группу магазина.
Заказов не беру. Консультирую редко.
#
Re: Текущая группа товаров магазина
Правда? А на скриншоте она совсем не такова
#
Re: Текущая группа товаров магазина
ruslan.savenok писал(а):
иду в api и ничего там не нахожу


да нет, есть GetItemPath например


$rez = $shop->GetItemPath($ShopId);
$external_propertys = array();
$external_propertys['ТекущаяГруппа'] = $rez['group'];
Cоздание сайтов на базе HostCMS: верстка и интеграция макетов, настройка, обновление системы, консультации.
#
Re: Текущая группа товаров магазина
Не там искал =)

Поправьте пожалуйста ибо я front-end занимаюсь и  в php не силен, это так делается?

      <?php
      // Проверяем, существует ли класс Интернет-магазина
      if (class_exists('shop')
      {
         $shop = & singleton('shop';
         $shop_id = 1;
$rez = $shop->GetItemPath($shop_id);

$external_propertys = array();

$external_propertys['ТекущаяГруппа'] = $rez['group'];
         $shop->ShowShop($shop_id, 'МагазинГруппыТоваровНаГлавной',$external_propertys);
      }
      ?>
#
Re: Текущая группа товаров магазина
вот из-за этого наверно и 0 в xml:

$param['current_group_id']=false либо id' шники принимать может. (см shop::ShowShop в api)

в типовой принимается id текущей группы поэтому и в шаблонах мы видим этот id
Cоздание сайтов на базе HostCMS: верстка и интеграция макетов, настройка, обновление системы, консультации.
#
Re: Текущая группа товаров магазина
ruslan.savenok писал(а):
Не там искал =)

Поправьте пожалуйста ибо я front-end занимаюсь и в php не силен, это так делается?

      <?php
      // Проверяем, существует ли класс Интернет-магазина
      if (class_exists('shop')
      {
         $shop = & singleton('shop';
         $shop_id = 1;
$rez = $shop->GetItemPath($shop_id);

$external_propertys = array();

$external_propertys['ТекущаяГруппа'] = $rez['group'];
         $shop->ShowShop($shop_id, 'МагазинГруппыТоваровНаГлавной',$external_propertys);
      }
      ?>


так вроде да -) ну вы проверьте сами =)

а в шаблоне так например уже



....
<!-- Шаблон для групп товара -->
<xsl:template match="group">
<xsl:variable name="current_group_id" select="/shop/ТекущаяГруппа"/>
<div>
<xsl:if test="$current_group_id = @id or count(.//group[@id=$current_group_id])=1">
<xsl:attribute name="class">
<xsl:text>a</xsl:text>
</xsl:attribute>
</xsl:if>
....



кстати на форуме это все было не один раз, все есть просто поискать надо не 3минуты а поболее и разными запросами =)
Cоздание сайтов на базе HostCMS: верстка и интеграция макетов, настройка, обновление системы, консультации.
Авторизация