Magento如何以编程方式更新产品价格

时间:2016-12-07 11:30:16

标签: php magento

我正在尝试使用此代码以编程方式更新产品价格。

$id = 1;
$product = Mage::getModel('catalog/product')->load($id);
$product->setPrice($price);
$product->setUrlKey(false);
$product->save();

但是在产品列表页面上它显示的像我有一些特价。

enter image description here

当我使用var_dump()时,price显示我更改了价格,但min,max,final中的价格仍未改变。

["price"]=>string(7) "18.0000"
["final_price"]=>string(7) "16.0000"
["minimal_price"]=>string(7) "16.0000"
["min_price"]=>string(7) "16.0000"
["max_price"]=>string(7) "16.0000"

我也试过这段代码

$product = Mage::getModel('catalog/product')->load($id);
$product->setPrice($price);
$product->setFinalPrice($price);
$product->setMinimalPrice($price);
$product->setMinPrice($price);
$product->setMaxPrice($price);
$product->setUrlKey(false);
$product->save();

但仍向我显示同样的结果,而不是更改final,min,max

中的值

1 个答案:

答案 0 :(得分:1)

我正在使用我的设置做这件事,我收到了同样的问题。

这就是我所拥有的:

$product->setMinimalPrice($price)
    ->setPrice($price)
    ->setFinalPrice($price)
    ->save();

此外,我认为没有理由每次都使用$product->setUrlKey(false)