2016-12-30 3 views
0

私はAPIを使用して再注文を作成しようとしているが、致命的なエラーを取得しています。メッセージでキャッチされない例外「Mage_Core_Exception」「を必ずしもすべての製品が要求された数量で使用可能な」magento - APIを使用して並べ替えを作成する方法は?

が、私はまだ再発注を使用して、カートにアイテムを配置したいです、ここに私のコードです -

require_once '../app/Mage.php'; 
Mage::app('default'); 

$orderId = $_REQUEST['order_id']; 

try { 
    $order = Mage::getModel('sales/order')->load($orderId); 
    if (!Mage::helper('sales/reorder')->canReorder($order)) { 
     return 'reorder not allowed'; 
    } 

    if ($order->getId()) { 
     $order->setReordered(true); 
     Mage::getSingleton('adminhtml/session_quote')->setUseOldShippingMethod(true); 
     $reorder = Mage::getSingleton('adminhtml/sales_order_create')->initFromOrder($order); 

     //We needed additional logic for shipping rates 
     $reorder->getQuote()->getShippingAddress() 
       ->setShippingMethod($order->getShippingMethod()) 
       ->setCollectShippingRates(true) 
       ->collectShippingRates() 
       ->collectTotals() 
       ->save(); 
     $reorder->createOrder(); 
    } 

    echo json_encode(array('status' => true , 
     'order_id' => $new_order, 
     'message' => 'Order created successfully')); 

} catch (SoapFault $e) { 
    echo json_encode(array('status' => false , 'message' => $e->getMessage())); 
} 

誰でも助けてください!どうもありがとう。

答えて

0

引用符でスーパーモードを設定できます。これによりMagentoは管理者によって見積もりが作成され、多くの小切手はストックチェックのようにスキップされます。 getIsSuperModeのコードベースを検索して、その動作を確認してください。

したがって、この例外を回避して商品をカートに追加するには、setIsSuperMode(true)を引用符に追加してください。

+0

作業コードを送信してください。または任意の参照リンク?どうもありがとう! –

関連する問題