【发布时间】:2016-08-21 09:01:30
【问题描述】:
您好,我想使用 prestashop 网络服务远程更新与产品相关的所有“属性”。几天来,我一直在尝试更新其类别,但未成功。我正在使用 prestashop_1.6.1.5。 在doc 之后,您可以获得这样的产品 xml
$xml = $this->webService->get(array('url' => 'http://prestashop.localhost/api/products/2'));
var_dump($xml);
$resources = $xml->children()->children();
如果你这样做了
$resources->reference = "NEW REFERENCE";
例如,您可以修改引用。
可以通过
查看其类别$resources->associations->categories->categories
您将获得与产品相关的类别 ID 数组。但如果你这样做:
$resources->associations->categories->categories[2] = 8
您不会将与产品关联的第三个类别更新为 8。它将保持为 0。 我也尝试过给它一个字符串。我试图取消设置整个类别节点,使用它使用的相同格式创建我自己的节点,然后再次分配它。我还尝试创建一个 SimpleXMlElement 并使用 addChild() 为我要修改的每个 id 添加它。但没有任何效果。
有人知道如何更新类别吗?
我还有一个问题,这些类别id和产品xml中出现的default_category_id有什么区别?如果您看到 prestashop DDBB,则 default_category_id 不会出现在中间表中。我的意思是,如果 default_category_id 为 9,则在您开始使用 prestashop 时的示例产品中,其他 id 为 2、3、4 和 7。
提前致谢
【问题讨论】:
标签: php prestashop prestashop-1.6