通过 Prestashop WEBSERVICE 添加组合 PHP
Add Combination via Prestashop WEBSERVICE PHP
希望您能指导我(因为我在其他现有问题中没有找到任何真正的答案);我的代码是:
<?php
function make_product_options($data){
global $webService, $config;
/*try{*/
$xml = $webService->get(array('url' =>$config["ps_shop"].'api/product_option_values?schema=blank'));
$product_option_value = $xml->children()->children();
$product_option_value->id = 1;
$product_option_value->id_attribute_group = $data["id_attribute_group"];
$product_option_value->name->language[0][0] = $data["name"];
$product_option_value->name->language[0][0]['id'] = 1;
$opt = array('resource' => 'product_option_values');
$opt['postXml'] = $xml->asXML();
$xml = $webService->add($opt);
var_dump($xml);
die();
$product_option_value = $xml->product_option_values;
/*} catch (PrestaShopWebserviceException $e){
return;
}*/
return $product->id;
}
但我收到“400 错误请求” xml 发送的是:
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<product_option_value>
<id>1</id>
<id_attribute_group>4</id_attribute_group>
<color/>
<position/>
<name><language id="1">Logo Grande</language></name>
</product_option_value>
</prestashop>
- 您必须确保为商店中的每种语言传递
name
值。
- 如果要添加组合
id
值必须为空。如果不是,可以解释为更新。
- 如果可以,请在 web 服务处于活动状态时激活 Prestashop 商店的调试模式。这样您将在错误中看到更多验证详细信息。
祝你好运。
我在 PixelWeb 的帮助下解决了这个问题,这是我使用的代码:
https://gist.github.com/is-just-me/4dadabf7e5514dcc25cf7de51eac9d21
希望能帮到别人 ;)
希望您能指导我(因为我在其他现有问题中没有找到任何真正的答案);我的代码是:
<?php
function make_product_options($data){
global $webService, $config;
/*try{*/
$xml = $webService->get(array('url' =>$config["ps_shop"].'api/product_option_values?schema=blank'));
$product_option_value = $xml->children()->children();
$product_option_value->id = 1;
$product_option_value->id_attribute_group = $data["id_attribute_group"];
$product_option_value->name->language[0][0] = $data["name"];
$product_option_value->name->language[0][0]['id'] = 1;
$opt = array('resource' => 'product_option_values');
$opt['postXml'] = $xml->asXML();
$xml = $webService->add($opt);
var_dump($xml);
die();
$product_option_value = $xml->product_option_values;
/*} catch (PrestaShopWebserviceException $e){
return;
}*/
return $product->id;
}
但我收到“400 错误请求” xml 发送的是:
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<product_option_value>
<id>1</id>
<id_attribute_group>4</id_attribute_group>
<color/>
<position/>
<name><language id="1">Logo Grande</language></name>
</product_option_value>
</prestashop>
- 您必须确保为商店中的每种语言传递
name
值。 - 如果要添加组合
id
值必须为空。如果不是,可以解释为更新。 - 如果可以,请在 web 服务处于活动状态时激活 Prestashop 商店的调试模式。这样您将在错误中看到更多验证详细信息。
祝你好运。
我在 PixelWeb 的帮助下解决了这个问题,这是我使用的代码:
https://gist.github.com/is-just-me/4dadabf7e5514dcc25cf7de51eac9d21
希望能帮到别人 ;)