В block_manufacturers.php в 4.06 foreach ($manufacturers AS $manufacturer) {
$manufacturers - все производители, в этом цикле происходит поиск производителей, изделия которых есть для данной категории. В цикле для каждого производителя выполняется один sql запрос вида:
SELECT i.item_id FROM (( va_items i INNER JOIN va_items_categories ic ON ic.item_id=i.item_id) INNER JOIN va_categories c ON ic.category_id=c.category_id) WHERE i.is_showing=1 AND i.is_approved=1 AND ((i.hide_out_of_stock=1 AND i.stock_level > 0) OR i.hide_out_of_stock=0 OR i.hide_out_of_stock IS NULL) AND (i.language_code IS NULL OR i.language_code='' OR i.language_code='ru') AND i.sites_all=1 AND i.guest_access_level&2 AND (c.category_id=50 OR c.category_path LIKE '%0,49,50,%') AND i.manufacturer_id=70;
Если к примеру в магазине 150 производителей, то при нажатии категории с товарами или выборе страницы выполнится 150 таких запросов.
Естественно по "производительности" magento нервно курит в сторонке. Если убрать столь злополучный фильтр, магазин начинает летать.
Интересно какой школьник сие написал.
Сия глупость есть как в 3.* так и в 4.*
Социальные закладки