Добрый день. Может кто сталкивался с такой задачей: в интернет-магазине необходимо вывести группы с учетом значения дополнительного свойства типа флажок (выводить отмеченные).
Имеется:
// Разделы магазина
if (Core::moduleIsActive('shop')) {
$Shop_Controller_Show = new Shop_Controller_Show(Core_Entity::factory('Shop', Core_Page::instance()->libParams['shopId']));
$Shop_Controller_Show
->shopGroups()
->queryBuilder()
->leftJoin('shop_group_properties', 'shop_groups.shop_id', '=', 'shop_group_properties.shop_id')
->leftJoin('property_value_ints', 'shop_groups.id', '=', 'property_value_ints.entity_id', array(
array('AND' => array('shop_group_properties.property_id', '=', Core_QueryBuilder::expression('`property_value_ints`.`property_id`')))))
// Идентификатор дополнительного свойства
->where('shop_group_properties.property_id', '=', 1)
// Значание дополнительного свойства
->where('property_value_ints.value', '=', '1')
->groupBy('shop_groups.id')
// Количество свойств
->having(Core_Querybuilder::expression('COUNT(DISTINCT `shop_group_properties`.`property_id`)'), '=', 1);
$Shop_Controller_Show
->xsl(Core_Entity::factory('Xsl')->getByName('МагазинВспомогательныеГруппыТоваровМеню'))
->groupsMode('tree')
->itemsForbiddenTags(array('text', 'description'))
->group(intval(Core_Page::instance()->object->group))
->viewed(FALSE)
->limit(0)
->show();
}
Работает так:
Помогите советом.