这似乎是一个愚蠢的问题,但我需要通过网络服务,我的产品,数量和制造商来设置。 网上没有关于此的文档。
当我通过网络服务将产品插入prestashop时,重要的是声明:
unset($resources->position_in_category);
unset($resources->manufacturer_name);
unset($resources->quantity);
只有这样,它才有效。 现在,我找到了一个设定数量的解决方案,但没有关于制造商。
有人能帮助我吗?
感谢。
答案 0 :(得分:1)
获取制造商ID并在产品资源中,通过以下方式分配:
$resources-> id_manufacturer = MANUFACTURER_ID
按名称获取制造商ID的示例
function GetManufacturerID($name) {
try {
$webService = new PrestaShopWebservice($url, PS_WS_AUTH_KEY, DEBUG);
$opt = array(
'resource' =>'manufacturers',
'display' => '[id]',
'filter[name]' => $name);
$xml = $webService->get($opt);
return $xml->children()->children()->manufacturer->id;
} catch (PrestaShopWebserviceException $e) {
$trace = $e->getTrace();
}
}
添加新制造商的示例
function AddManufacturer($manu_name) {
$webService = new PrestaShopWebservice(PS_SHOP_PATH, PS_WS_AUTH_KEY, DEBUG);
$xml = $webService->get(array('resource' => 'manufacturers?schema=synopsis'));
$resources = $xml->children()->children();
$resources->name = $manu_name;
$resources->active = 1;
unset($resources -> link_rewrite);
$webService->add(
array(
'resource' => 'manufacturers',
'active' => array(),
'postXml' => $xml->asXML()
)
);
}