Здравствуйте!Есть решение для вывода всех товаров определенной группы,но как его переделать для подгрупп?
Как вызвать подгруппы из определенной группы по id. Ниже код вызова для товаров
<?php
if (Core::moduleIsActive('shop'))
{
$oShop = Core_Entity::factory('Shop', 1);
// Выбрать всех потомков
function getChildren($oParentShopGroup, $aGroups = array())
{
$aGroups[] = $oParentShopGroup->id;
$aChildren = $oParentShopGroup->Shop_Groups->getAllByActive(1);
foreach ($aChildren as $oChildrenGroup)
{
$aGroups = getChildren($oChildrenGroup, $aGroups);
}
return $aGroups;
}
$aGroups1 = getChildren(Core_Entity::factory('Shop_Group', 634));
$aGroupsRes = (array)$aGroups1;
$Shop_Controller_Show = new Shop_Controller_Show(
$oShop
);
$Shop_Controller_Show
->shopItems()
->queryBuilder()
->clearOrderBy()
->orderBy('RAND()')
->where('shop_items.shop_group_id', 'IN', $aGroupsRes);
$Shop_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName('СлучайныеТовары')
)
->groupsMode('tree')
->group(FALSE)
->limit(3)
->show();
}
?>
Т.е. все товары из группы с id=634 выводятся,а мне нужно вывести все подгруппы из группы с id=634
Заранее спасибо.
P.S. мне кажется проблема кроется здесь
$Shop_Controller_Show
->shopItems()
->queryBuilder()
->clearOrderBy()
->orderBy('RAND()')
->where('shop_items.shop_group_id', 'IN', $aGroupsRes);
Не знаю как правильно сделать запрос для подгрупп.