2011-01-27 11 views
0

特定の顧客に製品を追加するためのカスタムスクリプトを書く。Magentoカートに入れるnot working

このようにしてください。

    $product = Mage::getModel('catalog/product')->load($id); 

       $cart = Mage::getSingleton('checkout/cart'); 
       $cart->truncate(); 
       $cart->save(); 
       $cart->getItems()->clear()->save();     
       $req = Mage::app()->getRequest(); 
       $request['qty'] = $selected_qty[$i]; 
       $request['product'] = $value;    

       $prod_req = new Varien_Object($request);     
       try {  
        $cart->addProduct($product, $prod_req); 
        $cart->save(); 
        $msg .= "<p>".$product->getName(). " ==> ".$selected_qty[$i] . " items <br/></p>";      
       } 
       catch (Exception $ex) { 
        $err .= "<p>".$ex->getMessage(). " <br/></p>";; 
       } 

顧客セッションには顧客の詳細が記録されていますが、これはカートに商品を追加しません。何が問題だ、誰にも分かるだろう。

ありがとうございました

+0

どのような例外メッセージが出力されますか? –

+0

エラーも例外もありません。ちょうど次の行を通って行く.. – Elamurugan

答えて

1

私はinchooサイトと同じ方法で作業しました。彼らに感謝します。

これは私が今持っているものです。

$product = Mage::getModel('catalog/product')->load($value);     
       $cart = Mage::getSingleton('checkout/cart'); 

       $params = array(
        'product' => $value, 
        'related_product' => null,     
        'qty' => $selected_qty[$i], 
       );  

       try {  
        $cart->addProduct($product, $params); 
        $cart->getItems()->save();    
        Mage::getSingleton('checkout/session')->setCartWasUpdated(true);     
        $msg .= "<p>".$product->getName(). " ==> ".$selected_qty[$i] . " item(s) <br/></p>";       
       } 
       catch (Exception $ex) { 
        $err .= "<p>".$ex->getMessage(). " <br/></p>";; 
       } 

完全に動作します。

+0

質問を開く前に、もう少し作業を自分で行うことをお勧めしますか? – Nick