如何从产品系列中获得分组产品的最低价格?
-
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);
在这种情况下,将为每种类型的产品加载正确的最低价格。