更新时间:2023-11-30 12:12:22
因此,您将希望摆脱"sales_quote_save_before"
So, you'll want to piggy back off of "sales_quote_save_before"
在config.xml内部:
inside config.xml:
<sales_quote_save_before>
<observers>
<pricebuilder>
<type>singleton</type>
<class>pricebuilder/observer</class>
<method>updateQuoteItems</method>
</pricebuilder>
</observers>
</sales_quote_save_before>
observer.php内部:
inside observer.php:
/**
* @param Varien_Event_Observer $observer
*/
public function updateQuoteItems($observer)
{
/** @var $quote Mage_Sales_Model_Quote */
$quote = $observer->getQuote();
/** @var $quoteItem Mage_Sales_Model_Quote_Item */
foreach ($quote->getAllItems() as $quoteItem) {
$this->processQuoteItem($quoteItem);
}
}
/**
* This is an example that sets all quote items to 123.55.
* you would of course implement your logic here for the given quote item.
*
* @param $quoteItem Mage_Sales_Model_Quote_Item
*
* @return $this
*/
private function processQuoteItem($quoteItem)
{
$finalPrice = 123.55;
$quoteItem->setCustomPrice($finalPrice);
$quoteItem->setOriginalCustomPrice($finalPrice);
$quoteItem->getProduct()->setIsSuperMode(true);
return $this;
}