Php 通过Web服务将产品添加到PrestaShop 1.5

Php 通过Web服务将产品添加到PrestaShop 1.5,php,web-services,prestashop,prestashop-1.5,Php,Web Services,Prestashop,Prestashop 1.5,我试图通过web服务添加产品,但收到以下错误代码: RETURN HTTP BODY <?xml version="1.0" encoding="UTF-8"?> <prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> <errors> <error> <message><![CDATA[Internal error. To see this error please dis

我试图通过web服务添加产品,但收到以下错误代码:

RETURN HTTP BODY
<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<errors>
<error>
<message><![CDATA[Internal error. To see this error please display the PHP errors.]]></message>
</error>
</errors>
</prestashop>
返回HTTP正文
我搜索了2天,但什么都没有。有人能帮我吗? 我的代码如下

define('DEBUG', true);
define('_PS_DEBUG_SQL_', true);
define('PS_SHOP_PATH', 'http://mywebsiteinlocalhost.gr/dev...shop/trunk/src/');
define('PS_WS_AUTH_KEY', 'CBYB5G5UVRA7FCN7JK2WZ625DFWG8SK3');
require_once ('./PSWebServiceLibrary.php');
$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); 
define('DEBUG',true);
定义(“PS调试SQL”,true);
定义('PS\U SHOP\U PATH','http://mywebsiteinlocalhost.gr/dev...shop/trunk/src/');
定义('PS_WS_AUTH_KEY','CBYB5G5UVRA7FCN7JK2WZ625DFWG8SK3');
需要_一次('./PSWebServiceLibrary.php');
$webService=新的PrestaShopWebservice(PS\u SHOP\u路径,PS\u WS\u AUTH\u密钥,调试);
$opt=array('resource'=>'products');
$xml=$webService->get(数组('url'=>PS_-SHOP_-PATH.'/api/products?schema=symposis');
$resources=$xml->children()->children();
未设置($resources->position\u在\u类别中);
取消设置($resources->manufacturer\u 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]='blabla

'; $resources->description_short->language[0][0]=“blabla”; $resources->associations=''; $opt=array('resource'=>'products'); $opt['postXml']=$xml->asXML(); $xml=$webService->add($opt);
检查您是否提供了正确的PS\u SHOP\u路径和PS\u WS\u认证密钥


并检查您的prestashop后端的权限。

检查您是否提供了正确的PS\u SHOP\u路径和PS\u WS\u认证密钥


还要检查prestashop后端的权限。

资源产品对于prestashop来说非常重要。 我已经快速检查了模式“synopsis”(…/api/products/?schema=synopsis)。共有12个字段被标记为必需的true! 例如,在您的示例中,缺少默认父类别!
这就是它不起作用的原因之一

资源产品对于Prestashop非常重要。 我已经快速检查了模式“synopsis”(…/api/products/?schema=synopsis)。共有12个字段被标记为必需的true! 例如,在您的示例中,缺少默认父类别!
这就是它不起作用的原因之一

要查看真正的webservice错误消息,请在config/config.inc.PHP中激活PHP错误显示

@ini_设置(“显示错误”、“打开”)

定义(“PS调试SQL”,true)

要查看真正的webservice错误消息,请在config/config.inc.PHP中激活PHP错误显示

@ini_设置(“显示错误”、“打开”)
定义(“PS调试SQL”,true)

在PrestaShop 1.5中 从配置文件夹打开
defines.inc.php

发现

更改false->true它将开始显示准确的错误

发生此错误的原因是

$resources->quantity = '50';
不能从xml修改数量。请评论这句话。我希望它对您有用。

在PrestaShop 1.5中 从配置文件夹打开
defines.inc.php

发现

更改false->true它将开始显示准确的错误

发生此错误的原因是

$resources->quantity = '50';

不能从xml修改数量。请评论这句话。我希望它能对你有用。

我反复检查它是正确的。最后,我创建了自己的产品插入方法。我反复检查它是否正确。最后,我创建了自己的产品插入方法