Magento Cart_Product.Add自定义选项文件通过Soap API上传

时间:2014-01-04 13:17:53

标签: php magento soap

无法通过soap api上传文件到Cart。我希望用户使用所需的自定义选项(即图像)将产品添加到购物车。

花了好几个小时,在任何地方都找不到任何资源/文档/相同的问题,但实际上弄明白,soap api需要数组(好的,但是参数是什么?)并且如果出现问题它不会抛出任何错误(很奇怪) ?)

所以在实践中我愿意实现的目标:

// Prepare image
$newImage = array(
    'file' => array(
        'name' => $_FILES['uploadedfile']['name'],
        'content' => base64_encode(file_get_contents($_FILES['uploadedfile']['tmp_name'])),
        'mime'    => 'image/png'
        ),
    'label'    => $_FILES['uploadedfile']['name']
);

// Prepare product & Custom options
$arrProducts = array(
    array(
        'product_id'     => '7',
        'qty'             => 1,
        'options'        => array ( '30' => $newImage ) // optionId_1 => optionValue_1
    )
);

// lets do adding
$resultCartProductAdd = $client->call(
    $session,
    'cart_product.add',
    array(
        $quoteId,
        $arrProducts
    )
);

问题是,图片没有上传到应该属于的/ media / custom_options / quote文件夹,当订单完成时无法在任何地方看到。正如我所提到的,在此过程中没有抛出错误..

感谢您帮助我。

1 个答案:

答案 0 :(得分:0)

请试试这个......

 $arrProducts = array(
        array(
            'product_id'     => '7',
            'qty'             => 1,
            'options'        => array ( 'options_30_file' => $newImage,'options_30_file_action'=>'save_new' ) 
        )
    );

 $arrProducts = array(
            array(
                'product_id'     => '7',
                'qty'             => 1,
               'options_30_file' => $newImage,
              'options_30_file_action'=>'save_new'  
            )
        );

如果有任何问题,请允许我