私はsales_quote_save_after
イベントdisaptcherに夢中です。まず、テストとして、カート内のアイテムを取得し、価格を0に変更しようとしています。その後、他のものを作成します。
困っています。単価は問題なく変更できますが、カートの合計を再計算すると、元の価格に戻ります。
public function sales_quote_save_before($observer) {
if (Mage::registry('basket_observer_executed')) {
return $this;
}
$quote = $observer->getEvent()->getQuote();
foreach ($quote->getAllItems() as $item) {
if($item->getId()) {
$item->setCustomPrice(0);
}
}
Mage::register('basket_observer_executed', true);
$quote->save();
$quote->setTotalsCollectedFlag(false)->collectTotals();
}
合計の再計算を行っている間、誰かが新しい価格を維持するように私を指摘できますか?