ferdinant,
if (Core::moduleIsActive('shop'))
{
$oShop = Core_Entity::factory('Shop', 5);
$oCore_QueryBuilder_Select2 = Core_QueryBuilder::select('shop_producer_id')
->distinct()
->from('shop_items')
->where('shop_items.shop_id', '=', $oShop->id)
->where('shop_items.active', '=', 1)
->where('shop_items.deleted', '=', 0)
->where('shop_items.shop_producer_id', '>', 0);
// Список производителей
$oShop_Producers = $oShop->Shop_Producers;
$oShop_Producers->queryBuilder()
->select('shop_producers.*')
->where('shop_producers.shop_id', '=', $oShop->id)
->where('shop_producers.id', 'IN', $oCore_QueryBuilder_Select2)
->where('shop_producers.active', '=', 1)
->where('shop_producers.deleted', '=', 0);
$aShop_Producers = $oShop_Producers->findAll();
foreach ($aShop_Producers as $oShop_Producer)
{
// Добавляем производителя потомком XML-сущности
echo $oShop_Producer->id ." - ". $oShop_Producer->name;
}
}