2011-01-27 6 views
0

특정 고객에게 제품을 추가하기위한 사용자 정의 스크립트 작성.Magento 카트에 담기 작동하지 않음

이렇게하면됩니다.

    $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

관련 문제