Фильтр производителей сделал вместо select чекбоксами, для множественного выбора
заменил в ТДС "Интернет-магазин" в коде страницы, этот код
if (Core_Array::getGet('producer_id'))
{
$iProducerId = intval(Core_Array::getGet('producer_id'));
$Shop_Controller_Show->addEntity(
Core::factory('Core_Xml_Entity')
->name('producer_id')->value($iProducerId)
);
$Shop_Controller_Show->shopItems()
->queryBuilder()
->select('shop_items.*')
->where('shop_items.shop_producer_id', '=', $iProducerId);
}
на этот
if (Core_Array::getGet('producer_id'))
{
$iProducersValue = Core_Array::getGet('producer_id');
//var_dump($iProducersValue);
$cnt=0;
foreach ($iProducersValue as $ProducerValue)
{
$Shop_Controller_Show->addEntity(
Core::factory('Core_Xml_Entity')
->name('producer_id')->value(intval($ProducerValue))
);
if ($cnt>0)$Shop_Controller_Show->shopItems()->queryBuilder()
->setOr();
$Shop_Controller_Show->shopItems()
->queryBuilder()
->select('shop_items.*')
->where('shop_items.shop_producer_id', '=', intval($ProducerValue));
$cnt++;
}
}
но он выдает ошибку
Предупреждение: Invalid argument supplied for foreach() в файле /home/virtwww/w_atm-st63f_48599230/http/hostcmsfiles/lib/lib_6/lib_6.php (строка 54)
пробовал
->where('shop_items.shop_producer_id', '=', intval($ProducerValue));
заменить на
->where('shop_items.shop_producer_id', 'IN', $array);
но выдает ту же самую ошибку, какой правильный все такие код для множественного фильтра по производителю?