实际上我正在尝试使用PHP cURL方法通过Volusion API将产品导入我的volusion商店,产品插入和更新成功但是类别和图像存在问题。未插入图像和类别。
当我打开我的管理员时,不会分配类别和图像。直到我手动分配然后它显示在前端。
任何人都知道请帮助我。我的代码如下......
<?xml version="1.0" encoding="utf-8"?>
<product>
<productcode>960BX2SSD1</productcode>
<upc_code>649528774156</upc_code>
<productmanufacturer>Crucial</productmanufacturer>
<category>SATA3</category>
<categorytree></categorytree>
<productprice>259</productprice>
<stockstatus>Y</stockstatus>
<productweight>0.25</productweight>
<length>0</length>
<width>0</width>
<height>0</height>
<photo_alttext>960BX2SSD1.JPG</photo_alttext>
<photourl>http://www.malabs.com/i/960BX2SSD1.JPG</photourl>
<productdescription><p><b>SpecificationS</b></p><ul><li><strong>Mfr Part Number:</strong> CT960BX200SSD1</li><li><strong>Capacity:</strong> 960 GB</li><li><strong>Form Factor:</strong>;</productdescription>
</product>
&#13;
<?php
$file = file_get_contents('dataPro.txt', true);
// Create the Xml to POST to the Webservice
$Xml_to_Send = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>";
$Xml_to_Send .= "<Volusion_API>";
// $Xml_to_Send .= "<!--";
$Xml_to_Send .= $file;
// $Xml_to_Send .= "\"\"";
// $Xml_to_Send .= "-->";
$Xml_to_Send .= "</Volusion_API>";
$url = "http://xxxxxxxxxxxxx/net/WebService.aspx?Login=xxxxxxxxxxxxx&EncryptedPassword=xxxxxxxxxxx&Import=Insert-Update";
// Create the Header
// Post and Return Xml
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $Xml_to_Send);
curl_setopt($ch, CURLOPT_HTTPHEADER, array("Content-Type:application/x-www-form-urlencoded; charset=utf-8", "Content-Action:Volusion_API"));
$data = curl_exec($ch);
// Check for Errors
if (curl_errno($ch)){
print curl_error($ch);
} else {
curl_close($ch);
}
// Display the Xml Returned on the Browser
echo $data;
?>
缺少图像和类别的错误。
答案 0 :(得分:0)
category,categorytree和photourl是虚拟列,无法导入。
它使用CSV导入工作,但它没有得到官方支持。
我之前从未使用过它,但如果您的类别已存在于管理员中,并且您尝试将新产品分配到这些类别,请查看此文档:
我更喜欢使用CSV导入方法。您不限于每个事务100条记录,您可以插入/更新虚拟字段,如类别ID列表。我从我使用的任何后端系统开始,然后动态生成CSV文件。