通过Prestashop WEBSERVICE PHP添加组合

通过Prestashop WEBSERVICE PHP添加组合,php,xml,prestashop,prestashop-1.6,Php,Xml,Prestashop,Prestashop 1.6,希望你能指导我(因为我在其他现有问题中找不到任何真正的答案);我的代码是: <?php function make_product_options($data){ global $webService, $config; /*try{*/ $xml = $webService->get(array('url' =>$config["ps_shop"].'api/product_option_values?schema=blank')); $produc

希望你能指导我(因为我在其他现有问题中找不到任何真正的答案);我的代码是:

<?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;
}
get(数组('url'=>$config[“ps_-shop”]。'api/product_-option_-values?schema=blank');
$product_option_value=$xml->children()->children();
$product\U option\U value->id=1;
$product\u option\u value->id\u attribute\u group=$data[“id\u attribute\u group”];
$product_option_value->name->language[0][0]=$data[“name”];
$product\u option\u value->name->language[0][0][id']=1;
$opt=array('resource'=>'product_option_values');
$opt['postXml']=$xml->asXML();
$xml=$webService->add($opt);
var_dump($xml);
模具();
$product\U option\U value=$xml->product\U option\U values;
/*}捕获(PrestaShopWebserviceException$e){
返回;
}*/
返回$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>

1.
4.
格兰德标志
  • 您必须确保为商店中的每种语言传递
    名称
  • 如果要添加组合
    id
    值必须为空。如果不是,则可以解释为更新
  • 如果可以,当webservice处于活动状态时,在Prestashop shop中激活调试模式。这样,您将在错误中看到更多验证详细信息

  • 祝你好运。

    我在PixelWeb的帮助下解决了这个问题,下面是我使用的代码:


    希望能帮助别人;)

    很高兴听到这个消息。如果有帮助,请标记为有效答案;)