【发布时间】:2014-06-23 14:49:34
【问题描述】:
我正在为 Magento 模块编写一些代码,但我注意到一个相当大的问题,我似乎无法找到一个干净的解决方案。
基本上,我想按如下方式获取产品集合:
$products = Mage::getResourceModel('catalog/product_collection')
->setStoreId($storeId) // $storeId is set earlier in the code
->addAttributeToSelect('*')
->addFinalPrice()
->addStoreFilter()
->addUrlRewrite()
->getItems();
如果我这样做,那么在我的代码中的另一个地方,我正在迭代这个集合,我可以在单个捆绑产品上调用 getMinimalPrice() 并实际获取产品的价格。
但是,只要我在获取集合时调用addFinalPrice(),所有缺货产品都会从集合中排除。但是,如果我删除这个对addFinalPrice() 的调用,那么就不可能在捆绑产品上使用getMinimalPrice()(好吧,你可以随意调用它,但你不会得到任何数据。
所以,我发现自己处于一个有问题的境地,我如何以获取所有产品的方式获取集合,无论它们是否有库存,同时仍能获取足够的价格数据来实际获取我的捆绑产品的价格?
【问题讨论】: