1

我尝试通过 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>

我正在搜索 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); 
4

4 回答 4

2

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

寻找

define('_PS_MODE_DEV_', false);

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

发生此错误是由于

$resources->quantity = '50';

您不能从 xml 修改数量。只需评论这一行。我希望它对你有用。

于 2014-05-27T12:50:26.087 回答
2

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

于 2014-01-20T18:05:06.550 回答
0

检查您提供正确 PS_SHOP_PATH 和 PS_WS_AUTH_KEY 的天气。

并检查您的 prestashop 后端的许可。

于 2013-11-22T09:55:10.113 回答
0

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

@ini_set('display_errors', 'on');
定义('_PS_DEBUG_SQL_',真);

于 2014-04-11T10:44:06.007 回答