#php #web-services #prestashop #prestashop-1.6
#php #веб-сервисы #prestashop #prestashop-1.6
Вопрос:
Я разрабатываю модуль PS для вставки данных связанных хранилищ (имя, URL, apiKey …) в новую таблицу другого хранилища PS в качестве централизованного.
Я добился создания нового веб-сервиса, установил флажки GET, POST и DELETE CRUD и установил ключ веб-сервиса для моего пользовательского веб-сервиса. Теперь я хочу записать новое связанное хранилище через URL веб-сервиса.
Что я сделал, так это:
Переопределить webserviceRequest (override/clases/webservice/webserviceRequest.php )
class WebserviceRequest extends WebserviceRequestCore {
public function __construct() {
include_once(_PS_MODULE_DIR_.'mycustomwebservicedir'.DIRECTORY_SEPARATOR.'models'.DIRECTORY_SEPARATOR.'myCustomClassForWs.php');
}
public static function getResources()
{
$resources = parent::getResources();
$resources['myCustomWs'] = array('description' => 'Description for my custom webservice', 'class' => 'myCustomClassForWs');
ksort($resources);
return $resources;
}
}
И это мой код для моего пользовательского класса (models/myCustomClassForWs.php )
class myCustomClassForWs extends ObjectModel
{
public $store_name;
public $store_url;
public $store_api_key;
public $store_contact_email;
public static $definition = [
'table' => _DB_PREFIX_.'mycustomtable',
'primary' => 'id_primary_key',
'fields' => [
'store_name' => ['type' => self::TYPE_STRING, 'required' => true],
'store_url' => ['type' => self::TYPE_STRING, 'required' => true],
'store_api_key' => ['type' => self::TYPE_STRING, 'required' => true],
'store_contact_email' => ['type' => self::TYPE_STRING, 'required' => true],
]
];
protected $webserviceParameters = [];
}
Итак, мой вопрос в том, как обработать пользовательский веб-сервис для вставки в мою новую таблицу, передав параметры через URL веб-сервиса.
Редактировать: я добавил часть ответа XML при попытке доступа http://localhost/prestashop/prestashop-base/api/centralized_store