0

我使用此代码从 magento 获取产品价格:

include_once '../../app/Mage.php';
Mage::app();
$model = Mage::getModel('catalog/product');//getting product model
$collection = $model->getCollection(); //products collection
foreach ($collection as $product) //loop for getting products
{                  
    $model->load($product->getId());
    echo $model['price'];
}

所以,当我使用这个脚本时,对于某些产品,给出了正确的价格,但对于某些产品,它不是正确的价格。

当我 var_dump() $model->load($product->getId()); 合适的价格总是在这里:

["_defaultValues:protected"]=>
  array(5) {
    ["special_price"]=>
    string(7) "32.0000"
    ["visibility"]=>
    NULL
    ["status"]=>
    string(1) "1"
    ["price"]=>
    string(8) "399.9900"
    ["name"]=>
    string(51) "Philips Home cinema met 3D Blu-ray iPod/iPhone-dock"
  }

如何更改代码以获得这个 399,99 的价格,而不是使用 $model['price'] 时得到的 '1'?

4

1 回答 1

0

检查 文档类 Mage_Catalog_Model_Product_Type_Price

$model->getPrice();

$model->getFinalPrice();

也许您尝试运行价格索引器

还要检查该产品是否是分组/可配置产品,因此您需要使用不同的方法( $mode->getCalculatedPrice() );

于 2013-02-11T14:01:20.977 回答