Intereting Posts
выделить ключевые слова для поиска при наведении Десятичный тип в php Правильная реализация виртуальных функций в PHP? Как добавить контакт в список, используя (Отправить сетку) php api Woocommerce Получить заказы на странице благодарности и передать данные javascript-фрагмент Laravel 4 кроме фильтра в конструкторе контроллера Страница таксономии CPT WordPress не работает Newbie Проблема с кодировкой PHP: функция заголовка (возможно, мне нужен кто-то, чтобы проверить мой код) Извлечение данных из базы данных и их отображение с помощью ajax Laravel PSR-4 автоматически не загружает классы Кластеризация на стороне сервера для карт google api v3 PHPUnit – создание объектов Mock для работы в качестве заглушек для свойств Slim Framework возвращает ответ без ответа «return $ response» удалять информацию из таблицы mysql, когда пользователь закрывает свой браузер добавить к многомерному массиву с парой значений ключа

Добавить продукт в PrestaShop 1.5 через веб-службу

Я пытаюсь добавить продукт через веб-сервис, и я получаю следующий код ошибки:

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); с 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); 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); 

Solutions Collecting From Web of "Добавить продукт в PrestaShop 1.5 через веб-службу"

Ресурс Продукт очень важен для Prestashop. Я быстро проверил схему «синопсис» (… / api / products /? Schema = краткое описание). Поля отмечены как обязательные для заполнения! В вашем примере, например, отсутствует родительская категория по умолчанию! Это одна из причин, почему это не сработало!

В PrestaShop 1.5 Open defines.inc.php из папки config

найти

 define('_PS_MODE_DEV_', false); 

change false -> true, он начнет показывать точную ошибку.

Эта ошибка возникает из-за

 $resources->quantity = '50'; 

Вы не можете изменять количество из xml. Просто прокомментируйте эту строку. Надеюсь, это сработает для вас.

проверьте, что вы дали правильные PS_SHOP_PATH и PS_WS_AUTH_KEY.

а также проверить разрешение с вашего брандмауэра prestashop.

Чтобы увидеть реальное сообщение об ошибке webservice, активируйте отображение ошибок PHP в config / config.inc.php

@ini_set ('display_errors', 'on');
define ('_ PS_DEBUG_SQL_', true);