2016-09-29 25 views

答えて

0

カートコントローラーをオーバーライドする必要があります。あなたのモジュールが

<?xml version="1.0"?> 
<config> 
    <modules> 
    <Kreativ_Buynow> 
     <version>1.0.0</version> 
    </Kreativ_Buynow> 
    </modules> 
    <frontend> 
    <routers> 
     <checkout> 
      <args> 
       <modules> 
        <Kreativ_Buynow before="Mage_Checkout">Kreativ_Buynow</Kreativ_Buynow> 
       </modules> 
      </args> 
     </checkout> 
    </routers> 
    </frontend> 
</config> 

が続い

私は、ID 933を持つ製品が存在する場合を想定
require_once 'Mage/Checkout/controllers/CartController.php'; 
class Kreativ_Buynow_CartController extends Mage_Checkout_CartController{ 
public function addAction(){ 

    foreach ($this->_getCart()->getQuote()->getAllItems() as $items) { 
     if($items->getProductId() == 933){ 
      $value = $items->getQty(); 
      $prd = Mage::getModel('catalog/product')->load(943); 
      $this->_getCart()->addProduct($prd,$value)->save(); 
      $this->_getSession()->setCartWasUpdated(true); 
     } 
    } 
    return parent::addAction(); 
} 

、その後、追加しようとしているコントローラのフォルダにCartController.phpを作成config.xmlで、その後、あなたのモジュールを登録カート内のID 943の製品。

+1

上記の処理を行うには、イベントcheckout_cart_product_add_afterにオブザーバーを使用することもできます。その場合、コントローラを拡張して既存のデフォルトのマゼンタ機能を変更する必要はありません。 –

+0

はい、それは良いでしょう、イベントはアップグレード後に壊れにくいです – Shrikant

+0

ありがとう皆さん。それは仕事です –

関連する問題