" 101:产品不存在。" (Magento API)product.update

时间:2016-06-09 22:10:18

标签: php excel soap magento-1.9

我看到documentation,但我仍未在代码中找到错误。

我正在尝试将excel 文件中的产品添加到Magento系统,然后在每个商店视图(多语言商店)上更新它。

为此,我已经完成了以下PHP脚本。在这段代码中,我只阅读了一行Excel(只是为了告诉你它是如何工作的)然后我将它添加到Magento(实际上是正在工作)然后我我正在尝试更新内容(提供错误)。请注意$ col [9]是保存SKU的var。

注意:我使用的是SOAP,但不是V2。

$rowdata=$sheet->rangeToArray('A' . $row.':'.$maxcol . $row, NULL, TRUE, FALSE);
$col=$rowdata[0];
//$soap is the client. $session_id is the logged in SOAP session.
$attributeSets = $soap->call($session_id, 'product_attribute_set.list');
$attributeSet = current($attributeSets);
$result = $soap->call($session_id, 'catalog_product.create', array('simple',     $attributeSet['set_id'], $col[9], array(
    'categories' => array(2),
    'websites' => array(1),
    'name' => $col[1],
    'description' => $col[10],
    'short_description' => $col[13],
    'weight' => '10',
    'status' => '1',
    'url_key' => 'product-url-key',
    'url_path' => 'product-url-path',
    'visibility' => '4',
    'price' => $col[20],
    'tax_class_id' => 1,
    'meta_title' => 'Product meta title',
    'meta_keyword' => 'Product meta keyword',
    'meta_description' => 'Product meta description'
)));
var_dump ($result);
$updatearray=  array(
    'name' => $col[2],
    'description' => $col[11],
    'short_description' => $col[14]
);
$update = $soap->call($session_id, 'catalog_product.update',    array($col[9], $updatearray, 'fr'));
var_dump ($update);

我很感激你们能给予的任何帮助!

1 个答案:

答案 0 :(得分:2)

我刚刚找到了这个问题的修复,但它确实没有意义。

因此,当我们通过电话发送SKU时,我们需要发送一个额外的空间。这意味着$ update需要像这样:

 $soap->call($session_id, 'catalog_product.update',    array($col[9].' ', $updatearray, 'fr'));