簡體   English   中英

以編程方式添加具有自定義選項的多個產品

[英]Programmatically Add multiple Products with Custom Options

我正在嘗試在php中開發一個代碼,該代碼將從舊訂單中獲取訂單增量ID,並將使用相同的產品以及產品自定義選項(如果有)創建一個新訂單。 即使可以通過querystring添加產品,但獲取par還是可以的,但是我不能添加自定義選項。 購物車頁面顯示:必需的產品自定義選項。

我認為(不確定)我什至成功地通過soap api添加了帶有自定義選項的產品,但是當我重定向到購物車時,它顯示了一個空購物車。

我是一個初學者,因此請忽略任何愚蠢(如果存在)。 :D帶有查詢字符串的代碼如下:

$form_key = Mage::getSingleton('core/session')->getFormKey();
$arrProducts = array(
/*array
(
"product" => "3",
"qty" => 7
),*/
array
(
"product" => "1",
"qty" => 3,
"options" => array
                 (
                  2 => array(
                            "date" => "11/12/13",
                            "date_internal" => "2013-12-11 00:00:00"
                            ),
                  1 => "1"
                 )
header('Location: '.Mage::getUrl('checkout/cart/add/form_key/'.$form_key.'/', $arrProduct));

因此,這將轉到產品頁面,但要求我選擇產品選項。 當我使用上面提到的其他產品時,它是成功的。

甚至我現在也可以在購物車中添加沒有自定義(id ='3'的產品)選項的產品。 代碼如下:

<?php
require('../../../app/Mage.php'); //include mage.php
Mage::app();
Mage::getSingleton('core/session', array('name' => 'frontend'));
$form_key = Mage::getSingleton('core/session')->getFormKey();
//echo $form_key;
$cart = Mage::getSingleton('checkout/cart');

$product = new Mage_Catalog_Model_Product();

$product->load(2); 
//$product->setProductOptions();

$params = array(

            array

            (

            "product" => "3",

            "qty" => 1

            ),


            array
                (
                "product" => "2",

                "qty" => 2,

                "options" =>array
                                (
                                    2 => array
                                            (
                                                          "date" => "11/12/2013",
                                                    "date_internal"=> "2013-12-11 00:00:00"
                                                ),

                                    1 => "1"

                                    )
                    )
                );



  $cart->addProduct($product, $params);

  $cart->save(); 

   Mage::getSingleton('checkout/session')->setCartWasUpdated(true);

   header('Location:http://111.111.1.1/magento/checkout/cart');
    ?>

但不適用於具有自定義選項(id ='2'的產品)的任何產品。 錯誤信息 :

致命錯誤:消息為“請指定產品所需的選項”的未捕獲異常“ Mage_Core_Exception”。 在C:\\ xampp \\ htdocs \\ magento \\ app \\ Mage.php:594中堆棧跟蹤:#0 C:\\ xampp \\ htdocs \\ magento \\ app \\ code \\ core \\ Mage \\ Checkout \\ Model \\ Cart.php(284): Mage :: throwException('請指定...')#1 C:\\ xampp \\ htdocs \\ magento \\ pratmagento \\ panel \\ orders \\ try2addtocart.php(53):Mage_Checkout_Model_Cart-> addProduct(Object(Mage_Catalog_Model_Product),Array)# 2 {main}在第594行的C:\\ xampp \\ htdocs \\ magento \\ app \\ Mage.php中引發

必須設置產品的website_ids。

$product->setWebsiteIds(array(Mage::app()->getStore(true)->getWebsite()->getId()));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM