Prestashop Webservice添加简单产品

时间:2016-11-25 17:03:19

标签: php web-services import prestashop product

我正在编写一个脚本,它将通过webservice添加产品。 我有几个小时的困难,所以我寻求帮助。 这就是我现在所拥有的。

require_once("config.php");
require_once("PSWebServiceLibrary.php");

try {

    $webService = new PrestaShopWebservice(SITE_URL, WEBSERVICE_AUTH_KEY, DEBUG_MODE);
    $xml = $webService->get(array('url' => SITE_URL.'/api/products?schema=synopsis'));
    $product = $xml->children()->children();
    $product->price = 99; 
    $product->wholesale_price = 89; 
    $product->active = '1';
    $product->on_sale = 0; 
    $product->show_price = 1;
    $product->available_for_order = 1;

    $product->name->language[0][0] = "Produit webservice";
    $product->name->language[0][0]['id'] = 1;
    $product->name->language[0][0]['xlink:href'] = SITE_URL . '/api/languages/' . 1;

    $product->description->language[0][0] = "Description produit webservice";
    $product->description->language[0][0]['id'] = 1;
    $product->description->language[0][0]['xlink:href'] = SITE_URL . '/api/languages/' . 1;

    $product->description_short->language[0][0] = "Descr. courte";
    $product->description_short->language[0][0]['id'] = 1;
    $product->description_short->language[0][0]['xlink:href'] = SITE_URL . '/api/languages/' . 1;
    $product->reference = "ref_product_webservice";

    $product->depends_on_stock = 0; 

    $category_id = 3;
    $product->associations->categories->addChild('category')->addChild('id', $category_id);
    $product->id_category_default = $category_id;

    //
    $opt = array('resource' => 'products');
    $opt['postXml'] = $xml->asXML();
    $xml = $webService->add($opt);   
}
catch (PrestaShopWebserviceException $ex) {
    echo "Error:<br>";
    echo  $ex->getMessage();
    exit(1);
}   

我的网络服务全部设置完毕,但我一直收到此错误:

  

对PrestaShop Web服务的此调用失败,并返回HTTP状态500.这意味着:内部服务器错误。

请告诉我我做错了什么。

2 个答案:

答案 0 :(得分:0)

在Prestashop中启用调试模式。您将准确地收到哪个字段设置错误以及原因。

Enable Pretashop debug mode

祝你好运。

答案 1 :(得分:0)

将架构更改为空白,现在它正在运行。 最初的错误是:

  

属性“href”绑定到命名空间