無料ギフトをカートに追加したいので、オブザーバーを作成します。コードは次のとおりです。
<?php
class Free_Checkout_Model_Observer
{
public function modifyPrice(Varien_Event_Observer $observer)
{
$event = $observer->getEvent();
$quote = Mage::getModel('checkout/session')->getQuote();
$quote_item = $event->getQuoteItem();
$productId = $event->getQuoteItem()->getProduct()->getId();
$product = Mage::getModel('catalog/product')->load($productId);
$productData = $product->getData();
if($productData['gift']){
$new_price = 0;
$quote_item->setOriginalCustomPrice($new_price);
$quote_item->setCustomPrice($new_price);
$quote_item->save();
}
}
}
しかし、アイテムをカートに追加すると、ショッピングカートで小計が0になります。この問題を解決する方法を教えてください。アイテムをもう 1 つ追加するか、ショッピング カート ページを更新すると、小計が正しい