Опять про товары подгрупп в группе

#
Опять про товары подгрупп в группе
Я знаю, что вас уже замучили с этим, но честно искала и пробовала, но не получается (
Собсно проблема такая, в группе выводить товары ее подгрупп (это получилось), но при этом у меня выводится название не этой конкретной группы, а магазина и, соответственно, подгруппы магазина, а нужно, чтобы название и подгруппы группы. код использовала такой:

         $mas_group = array();
         
         $in = $GLOBALS['shop_item_path']['group'];
         
         $mas_group = $shop->GetGroupsTree($in,
         $current_shop_id, $mas_group);
         $set = array();
         $set = SetGroups($mas_group, $set);
         $elements = array();
         
         foreach ($set as $key => $value)
         {
               $in .= ','.$value;
         }
         
         $elements['type']=0;
         $elements['prefix'] = ' and (';
         $elements['name'] = 'shop_items_catalog_table.shop_groups_id';
         $elements['if'] = ' IN ('.$in.') ';
         $elements['value'] = '';
         $elements['sufix']=')';

         $param['select'][]=$elements;
         $param['current_group_id']=false;



Наверно, я что-то где-то забыла, но где и что от меня ускользает.
P.S. Не хотели бы вы сделать галочку в настройках магазина типа - показывать товары из подгрупп, думаю многие были бы благодарны ...
http://www.colibre.ru - Создание и продвижение сайтов
#
Re: Опять про товары подгрупп в группе
да, этот код используется в типовой динамической перед ShowShop.
И, кстати, ку-ку )
http://www.colibre.ru - Создание и продвижение сайтов
#
Re: Опять про товары подгрупп в группе
Ответ дан по почте.
#
Re: Опять про товары подгрупп в группе
Спасибо! Привожу текст письма, вдруг кому понадобиться )

Проблема возникла из-за того, что в качестве текущей группы передано false, т.е. $param['current_group_id']=false. Но без передачи этого false-а реализовать изначальный функционал не получится. Поэтому для решения проблемы вам нужно через массив $external_propertys в метод ShowShop передавать идентификатор реальной текущей группы(т.е. $GLOBALS['shop_item_path']['group']). И далее уже в коде XSL-шаблона в качестве текущей группы принимать не параметр @current_group_id. а то, что вы передадите через $external_propertys.
Вот, кстати, пример кода именно того, что вам нужно: http://www.hostcms.ru/forums/17/1839/page-4/. Посмотрите сообщение, начинающееся со слов "я немного по другому сделал"
http://www.colibre.ru - Создание и продвижение сайтов
#
Re: Опять про товары подгрупп в группе
И, кстати, нужно не забыть добавить
$param['xml_show_group_type'] = "all";
http://www.colibre.ru - Создание и продвижение сайтов
#
Re: Опять про товары подгрупп в группе
Собственно продолжение проблем связанных с
$param['current_group_id']=false;
. Сейчас в xml в properties_for_group передаются свойства активные для корневой группы, а мне нужно, чтобы свойства активные для текущей группы ( как-бы мне это изменить?
http://www.colibre.ru - Создание и продвижение сайтов
Модератор
#
Re: Опять про товары подгрупп в группе
libertine писал(а):
Сейчас в xml в properties_for_group передаются свойства активные для корневой группы, а мне нужно, чтобы свойства активные для текущей группы (как-бы мне это изменить?

А текущая группа у Вас выводится в XML? У нее св-ва не указаны?
#
Re: Опять про товары подгрупп в группе
Код вот такой (в типовой динамической)
         $mas_group = array();
         
         $in = $GLOBALS['shop_item_path']['group'];
         
         $mas_group = $shop->GetGroupsTree($in,
         $current_shop_id, $mas_group);
         $set = array();
         $set = SetGroups($mas_group, $set);
         $elements = array();
         
         foreach ($set as $key => $value)
         {
               $in .= ','.$value;
         }
         
         $elements['type']=0;
         $elements['prefix'] = ' and (';
         $elements['name'] = 'shop_items_catalog_table.shop_groups_id';
         $elements['if'] = ' IN ('.$in.') ';
         $elements['value'] = '';
         $elements['sufix']=')';
         $param['select'][]=$elements;
         $param['current_group_id']=false;
         $param['xml_show_group_type'] = "all";
         $external_propertys['ЭтаГруппа'] =  $GLOBALS['shop_item_path']['group'];
         $param['shop_groups_id'] = $GLOBALS['shop_item_path']['group'];
         $param['shop_properties_group_id'] = 1;
         $row = $shop->GetPropertiesGroupValue($param);
         if ($row["shop_properties_group_value_value"] == 1){
            $param['items_on_page'] = 5000;
         }

         $shop->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);

т.е. текущая группа вот тут $external_propertys['ЭтаГруппа'].
Она никак не влияет на создание массива properties_for_group (Это свойства товаров, для которых активна лампочка для данной группы во вкладке "Свойства товаров для группы", я так понимаю) а нужно чтобы как-то влияла, вот только куда это прописать я не знаю (
http://www.colibre.ru - Создание и продвижение сайтов
#
Re: Опять про товары подгрупп в группе
Е сожалению, если в качестве текущей группы($param['current_group_id']) передано значение false, то получить в этом же XML-е информацию о доп. свойствах, доступных какой-то определенной группе, никак не получится.
#
Re: Опять про товары подгрупп в группе
libertine, а попробуйте для $param['current_group_id'] не передавать
значение false, а передавать $GLOBALS['shop_item_path']['group'].
Авторизация