zayolya, для того, чтобы вывести элементы определенной группы(даже те, которые находятся в ее подгруппах неограниченного уровня вложенности) попробуйте в типовую динамическую страницу для магазина добавить код, выделенный жирным, перед методом ShowShop(ВНИМАНИЕ! Код функции SetGroups в последних версиях системы уже имеется стандартно в коде данной типовой, поэтому нужно просто убедиться, что он там есть, и в этом случае его добавления не требуется):
function SetGroups($mas_groups, $set)
{
$mas_groups = to_array($mas_groups);
foreach ($mas_groups as $key=>$value)
{
foreach ($value as $key1=>$value1)
{
$set[] = $value1;
if ($value1 == $key)
{
$set[] = $key;
SetGroups($mas_groups, $set);
}
}
}
return $set;
}
/* Вывод списка */
if(!$GLOBALS['shop_item_path']['item'])
{
$mas_group = array();
$mas_group = $shop->GetGroupsTree($GLOBALS['shop_item_path']['group'],
$current_shop_id, $mas_group);
$set = array();
$set = SetGroups($mas_group, $set);
$elements = array();
$in = $GLOBALS['shop_item_path']['group'];
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;
$GLOBALS['shops']->ShowShop($current_shop_id, $xsl_catalog, $param, $external_propertys);