2013-12-16 56 views
0

我试图开发一个PHP代码,将采取阶增量编号从旧秩序,将与产品定制选项一起创建具有相同产品的新订单(如果有的话) 。 即使有可能通过查询字符串添加产品,但通过我无法添加自定义选项,抓取标准也没问题。购物车页面显示:需要产品定制选项。编程添加多个产品具有自定义选项

我认为(不知道),我甚至成功地通过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'带消息'请指定产品所需的选项(s)'。在C:\ xampp \ htdocs \ magento \ app \ Mage.php中:594堆栈跟踪:#0 C:\ xampp \ htdocs \ magento \ app \ code \ core \ Mage \ Checkout \ Model \ Cart.php(284):法师:: throwException( '请注明...')#1 C:\ XAMPP \ htdocs中\ Magento的\ pratmagento \面板\命令\ try2addtocart.php(53):Mage_Checkout_Model_Cart-> addProduct命令(对象(Mage_Catalog_Model_Product),阵列)# 2 {主}扔在C:\ XAMPP \ htdocs中\ Magento的\应用\上线594

+0

所以你想复制最后一个订单(产品+自定义选项),并增加一个订单ID? – pablofiumara

+0

是的绝对......我想,并不能设置自定义选项的值。 –

+0

其中一个自定义选项是日期类型。在此先感谢.... –

回答

0

它设置website_ids产品所需Mage.php。

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