使用WebService将产品添加到PrestaShop 1.6.0.9

托雷耶夫

我试图将产品添加到由PrestaShop 1.6.0.9驱动的我的商店中。这是我的代码:

<?php
    ini_set('display_errors',1);
    ini_set('display_startup_errors',1);
    error_reporting(-1);
    define('DEBUG', true);
    define('_PS_DEBUG_SQL', true);
    define('PS_SHOP_PATH', 'http://myshop.com');
    define('PS_WS_AUTH_KEY', 'E6R9IDPK2R519WB9QAJ45MUACZ9GANC2');

    require_once('PSWebServiceLibrary.php');

    try {
            $webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);
            $opt = array('resource' => 'products');

            $xml = $webService->get(array('url' => PS_SHOP_PATH.'/api/products?schema=synopsis'));
            $resources = $xml->children()->children();

            unset($resources->position_in_category);
            unset($resources->manufacturer_name);

            $resources->price = '1000';
            $resources->active = '1';
            $resources->quantity = '50';
            $resources->link_rewrite = 'blabla';
            $resources->name->language[0][0] = 'blabla';
            $resources->description->language[0][0] = '<p>blabla</p>';
            $resources->description_short->language[0][0] = 'blabla';
            $resources->associations = '';

            $opt = array('resource' => 'products');
            $opt['postXml'] = $xml->asXML();
            $xml = $webService->add($opt); 
    }
    catch (PrestaShopWebserviceException $ex) {
        echo 'Other error: <br/>'.$ex->getMessage();
    }
?>

但我收到此错误的XML:

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<errors>
<error>
<code><![CDATA[127]]></code>
<message><![CDATA[XML error : String could not be parsed as XML
XML length : 7891
Original XML : %3C%3Fxml+version%3D%221.0%22+encoding%3D%22UTF-8%22%3F%3E%0A%3Cprestashop+xmlns%3Axlink%3D...................
</error>
</errors>
</prestashop>

每次更新或插入都会收到错误消息。可能是什么问题?我该如何解决呢?我的PrestaShop版本是1.6.0.9。

托雷耶夫

我在中的PSWebServiceLibrary.php发现了该错误public function add($options)问题在于请求:

$request = self::executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => 'xml='.urlencode($xml)));

注意,CURLOPT_POSTFIELDS => 'xml='.urlencode($xml)这会将XML作为字符串发送,并以'xml ='字符串开头,然后将其发送到文件和URL的开头,以对整个XML进行编码,但是PS需要XML,因此应采用以下方式:

$request = self::executeRequest($url, array(CURLOPT_CUSTOMREQUEST => 'POST', CURLOPT_POSTFIELDS => $xml));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

来自分类Dev

我想把数组 [1,2,3,4,5,6,7,8,9,10,11] 变成数组 [1,2,3,4,5,6,7,8,9,1 ,0,1,1] 仅使用此算法

来自分类Dev

C中{0,1,2,3,4,5,6,7,8,9}外的条件

来自分类Dev

使用WebService将产品添加到PrestaShop 1.6.0.9

来自分类Dev

使用VB6将缺少的节点从Treeview1添加到Treeview2

来自分类Dev

AMQP 0-9-1和1-0

来自分类Dev

清除算法以生成类型为(0)到(0,1,2,3,4,5,6,7,8,9)的所有集合

来自分类Dev

sas9命令将1年添加到现有日期

来自分类Dev

使用php,如何将[0-9],[0-9]替换为[0-9] [0-9]?

来自分类Dev

Java Reg接受*不在[0-9] * [-/] {0,1} [0-9] *中的*-是Bug吗?

来自分类Dev

0-9和[[:digit:]]将匹配1-10,但不超过

来自分类Dev

Javascript正则表达式/ ^(19 | 20)([0-9] {2})-([0-9] {2} | 0 [0-9] {1})-([0-9] {2} | 0 [0-9] {1})$ / g未找到日期作为输入值

来自分类Dev

我如何在 ng-repeat 中使用 Angular JS 为 1 到 9 附加 0

来自分类Dev

foldLeft 在 (0 /: (1 to 6))(_+_) 中是如何计算的?

来自分类Dev

创建固定长度的二进制向量的更快方法:如果固定长度为6,则4'将变为(0,0,0,1,0,0)

来自分类Dev

(-1)^k 对于 R 中从 0 到 9 的每个 k

来自分类Dev

捕获[A-Z0-9] {6}-但仅当它不是\ d {6}时

来自分类Dev

将Tomcat 9添加到eclipse

来自分类Dev

使用拥挤的2.4GHz Wi-Fi通道1、6、11或“未使用”的3、4、8或9更好吗?

来自分类Dev

使用LINQ在分组对象中返回项目1至3和4至6和7至9

来自分类Dev

使用查找来定位,移动和符号链接与[0-9] {1,10} / *相匹配的目录树

来自分类Dev

.htaccess文件([^ \ /] +)不起作用,但是([1-9] + [0-9] *)起作用?

来自分类Dev

使用模循环9-0并打印

来自分类Dev

为什么 /^[a-zA-Z0-9_]+$/ 和 /^[a-zA-Z0-9_]{1,}$/ 接受空字符串

来自分类Dev

prestashop将图像添加到产品

来自分类Dev

在 Ubuntu 上将所有 IPV6 池 /64 地址添加到 eth0

来自分类Dev

将十进制格式化为长度为9的字符串,在'。'之前加2位数字(填充0)。然后是6

来自分类Dev

将列添加到分组数据中,该数据将1分配给个人,并随机将1或0分配给对

来自分类Dev

VB.NET从0舍入到4-> 0从5舍入到9-> 1

Related 相关文章

  1. 1

    将数组的元素添加为a [0],a [1] + a [2],a [3] + a [4] + a [5],a [6] + a [7] + a [8] + a [9] ...等等

  2. 2

    我想把数组 [1,2,3,4,5,6,7,8,9,10,11] 变成数组 [1,2,3,4,5,6,7,8,9,1 ,0,1,1] 仅使用此算法

  3. 3

    C中{0,1,2,3,4,5,6,7,8,9}外的条件

  4. 4

    使用WebService将产品添加到PrestaShop 1.6.0.9

  5. 5

    使用VB6将缺少的节点从Treeview1添加到Treeview2

  6. 6

    AMQP 0-9-1和1-0

  7. 7

    清除算法以生成类型为(0)到(0,1,2,3,4,5,6,7,8,9)的所有集合

  8. 8

    sas9命令将1年添加到现有日期

  9. 9

    使用php,如何将[0-9],[0-9]替换为[0-9] [0-9]?

  10. 10

    Java Reg接受*不在[0-9] * [-/] {0,1} [0-9] *中的*-是Bug吗?

  11. 11

    0-9和[[:digit:]]将匹配1-10,但不超过

  12. 12

    Javascript正则表达式/ ^(19 | 20)([0-9] {2})-([0-9] {2} | 0 [0-9] {1})-([0-9] {2} | 0 [0-9] {1})$ / g未找到日期作为输入值

  13. 13

    我如何在 ng-repeat 中使用 Angular JS 为 1 到 9 附加 0

  14. 14

    foldLeft 在 (0 /: (1 to 6))(_+_) 中是如何计算的?

  15. 15

    创建固定长度的二进制向量的更快方法:如果固定长度为6,则4'将变为(0,0,0,1,0,0)

  16. 16

    (-1)^k 对于 R 中从 0 到 9 的每个 k

  17. 17

    捕获[A-Z0-9] {6}-但仅当它不是\ d {6}时

  18. 18

    将Tomcat 9添加到eclipse

  19. 19

    使用拥挤的2.4GHz Wi-Fi通道1、6、11或“未使用”的3、4、8或9更好吗?

  20. 20

    使用LINQ在分组对象中返回项目1至3和4至6和7至9

  21. 21

    使用查找来定位,移动和符号链接与[0-9] {1,10} / *相匹配的目录树

  22. 22

    .htaccess文件([^ \ /] +)不起作用,但是([1-9] + [0-9] *)起作用?

  23. 23

    使用模循环9-0并打印

  24. 24

    为什么 /^[a-zA-Z0-9_]+$/ 和 /^[a-zA-Z0-9_]{1,}$/ 接受空字符串

  25. 25

    prestashop将图像添加到产品

  26. 26

    在 Ubuntu 上将所有 IPV6 池 /64 地址添加到 eth0

  27. 27

    将十进制格式化为长度为9的字符串,在'。'之前加2位数字(填充0)。然后是6

  28. 28

    将列添加到分组数据中,该数据将1分配给个人,并随机将1或0分配给对

  29. 29

    VB.NET从0舍入到4-> 0从5舍入到9-> 1

热门标签

归档