Как получить минимальную цену сгруппированного продукта от сбора продукта?
-
16-10-2019 - |
Вопрос
Я загружаю все продукты, используя модель ресурса сбора продуктов.
$_categoryId = $this->getCategoryId();
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addMinimalPrice()
->addFinalPrice()
->addTaxPercents()
->addCategoryFilter(Mage::getModel('catalog/category')->load($_categoryId))
->addAttributeToSelect('*')
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4);
Однако я не могу отобразить минимальную цену на сгруппированные продукты, например.
echo $_productCollection->getFirstItem()->getMinimalPrice();
Это работает для простых продуктов. Похоже, это связано с тем, что это тип блока ядра/шаблона, а не блок каталога/product_list. Но использование каталога/product_list не является вариантом по другим причинам.
Решение
Если вы обновляете свой код, так что он не просто выберите *, а используйте атрибуты конфигурации каталога, тогда ваш код работает для всех типов продуктов.
Mage::getSingleton('catalog/config')->getProductAttributes()
Ваш код должен выглядеть так.
$_categoryId = $this->getCategoryId();
$_productCollection = Mage::getResourceModel('catalog/product_collection')
->addMinimalPrice()
->addFinalPrice()
->addTaxPercents()
->addCategoryFilter(Mage::getModel('catalog/category')->load($_categoryId))
->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
->addAttributeToFilter('status', 1)
->addAttributeToFilter('visibility', 4);
В этом случае правильные минимальные цены будут загружены для каждого типа продукта.
Не связан с magento.stackexchange