0

我有以下代码:

$products = Mage::getModel('catalog/product')->getCollection();


foreach ($products as $product) {
    $product->load();
    $price = $product->getFinalPrice();
    //do something with $price
}

显然$product->load()性能很糟糕,但是当我删除它时$price为零,所以我正在寻找类似的东西addAttributeToSelect,所以我不需要加载每个产品。我已经尝试了价格属性,但这不起作用。

4

2 回答 2

2

试试这样:

$collection = Mage::getModel('catalog/product')->getCollection()
            ->addAttributeToSelect(Mage::getSingleton('catalog/config')->getProductAttributes())
            ->addMinimalPrice()
            ->addFinalPrice()
            ->addTaxPercents();
于 2013-08-15T06:57:31.233 回答
0

http://docs.magentocommerce.com/Mage_Catalog/Mage_Catalog_Model_Product_Type_Price.html

Mage::getModel('catalogrule/rule')->calcProductPriceRule($product->setStoreId('STORE_ID')->setCustomerGroupId('CUSTOMER_GROUP_ID'),$product->getPrice())

或者

Mage::getModel(‘catalogrule/rule’)->calcProductPriceRule($product,$product->getPrice())

您可能还想看看这里:

http://www.magentocommerce.com/boards/viewthread/176883/

Magento 中的分组产品 getFinalPrice 行为

于 2013-08-15T04:36:34.973 回答