Глядя на тему по умолчанию, я вижу, что в комплекте есть собственный шаблон для отображения состояния запаса, который проверяет Mage_Bundle_Model_Product_Type::isSalable()
, это уже делает дорогостоящую операцию загрузки всех его компонентов и проверки их по отдельности.Также цена работает аналогичным образом, загружая компоненты.Это дорого, потому что это большая операция EAV.В некоторых из самых медленных магазинов, над которыми я работал, особенно было много комплектных / настраиваемых продуктов.
Так что работа с базой данных уже выполнена, и еще раз проверяем загруженные продукты, чтобы снова проверить запас.вероятно, не будет иметь большого значения.Кроме того, вы можете ограничить влияние, используя что-то вроде CatalogCache .
К сожалению, я не вижу события количества запаса, поэтому вам, возможно, придется расширить Mage_Bundle_Model_Product_Type
с помощью собственного метода getStockQty()
, чтобы выполнить соответствующий поиск и вычисление.
Если вы ужеизменил изображение на складе, тогда это было бы в файле template/bundle/catalog/product/view/type/bundle.phtml
.Уберите «светофоры» оттуда, если вы хотите самый простой способ скрыть уровень запаса комплекта.Это не влияет на другие типы продуктов.