2016-12-07 28 views
2

我试图通过使用此代码编程方式更新产品的价格产品的价格。如何Magento更新程序

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

但在产品列表页面上它显示的像这样就像我有一些特殊的价格。

enter image description here

当我使用var_dump()它显示我改价格pricemin,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

+0

您是否从管理区重新编制catalog_product_price的索引? –

+0

不可以从前端执行 – OBAID

+0

您可以从管理员区域或SSH命令执行此操作。 –

回答

1

不改变值我在做这个确切的事情与我的设置,我正在接受你同样的确切问题。

下面是我得到了什么:

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

另外,我看不出有任何理由使用每次$product->setUrlKey(false)

+0

您是否找到任何解决方案? – OBAID

+0

@OBAID这是为我工作的解决方案。尽管如果你在前端代码上做出这种改变,它会有所不同。你在Magento 1上吗? –

+0

我在Magento的1企业 – OBAID