2013-10-22 57 views
3

我希望能夠改變對報價的項目價格比的產品不同,基於幾個教程我已經使用這個代碼:報價項目上的Magento自定義價格被忽略?

$quoteItem->setCustomPrice($price); 
$quoteItem->setOriginalCustomPrice($price); 
$quoteItem->getProduct()->setIsSuperMode(true); 
$quote->save(); 

後,當我得到到購物車它顯示了正常的價格,不定製價格。我檢查了購物車中的報價商品,他們有正確的customPrice,但似乎被忽略。我必須激活其他功能才能使此自定義價格生效嗎?

PS:

Magento的V1.7

回答

9

好的,所以我發現問題,不知何故它沒有得到保存在我的腳本。不知道爲什麼,但我已將我的代碼改寫爲2個函數,1個用於添加產品,另一個用於更改價格。

所以這段代碼是一切必要:

$quoteItem->setCustomPrice($price); 
$quoteItem->setOriginalCustomPrice($price); 
$quoteItem->getProduct()->setIsSuperMode(true); 
$quoteItem->save(); 

沒有必要保存報價,只是quoteItem。

2

應該是一個簡單的辦法:如果我沒有記錯的話,你要保存一個報價項目的價格,但你保存的報價來代替。您還需要保存報價項目本身。

$quoteItem->setCustomPrice($price); 
$quoteItem->setOriginalCustomPrice($price); 
$quoteItem->getProduct()->setIsSuperMode(true); 
$quoteItem->save(); 
$quote->save(); 
+1

試過了,但沒有必要保存quoteitem。當我到達購物車時,物品確實會保存這些自定義價格。 –

相關問題