通过 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>
  1. 您必须确保为商店中的每种语言传递 name 值。
  2. 如果要添加组合 id 值必须为空。如果不是,可以解释为更新。
  3. 如果可以,请在 web 服务处于活动状态时激活 Prestashop 商店的调试模式。这样您将在错误中看到更多验证详细信息。

祝你好运。

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

https://gist.github.com/is-just-me/4dadabf7e5514dcc25cf7de51eac9d21

希望能帮到别人 ;)