以编程方式添加类别prestashop [英] add category programmatically prestashop
本文介绍了以编程方式添加类别prestashop的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想以编程方式将类别添加到prestashop,我尝试了此代码
I would like to add categories programmatically to prestashop, i tried this code
$object = new Category();
$object->name = "xcvxvvx";
if (!$parent_id){
$parent_id = Configuration::get('PS_HOME_CATEGORY');
}
$object->id_parent = $parent_id;
$object->link_rewrite = array((int)(Configuration::get('PS_LANG_DEFAULT')) => $category);
$object->add();
$object->id_category = $object->id;
$object->id_category_default = $object->id;
$ object-> update();
$object->update();
我收到此错误消息:
Fatal error: Uncaught exception 'PrestaShopException' with message 'Property
Category->name is empty' in /var/www/autospareparts.se.com/classes/ObjectModel.php:874
Stack trace:
#0 /var/www/autospareparts.se.com/classes/ObjectModel.php(306):
ObjectModelCore->validateFieldsLang()
#1 /var/www/autospareparts.se.com/classes/ObjectModel.php(490):
ObjectModelCore->getFieldsLang()
#2 /var/www/autospareparts.se.com/classes/Category.php(157):
ObjectModelCore->add(true, false)
#3 /var/www/autospareparts.se.com/get_product.php(51): CategoryCore->add()
#4 {main}
thrown in /var/www/autospareparts.se.com/classes/ObjectModel.php on line 874
与我分配的名称字段有关的错误
error related to name field that i assigned
$object->name = "xcvxvvx";
预先感谢
推荐答案
是因为国际化。 ObjectModel
类需要一个名称数组,就像 link_rewrite
一样。
It's because of the internationalization. The ObjectModel
class needs an array for the name, exactly like the link_rewrite
.
工作代码(已在1.5.4.1上测试,但应在> = 1.5上工作)
Working code (tested on 1.5.4.1 but should work on >=1.5)
$object = new Category();
$object->name = array((int)Configuration::get('PS_LANG_DEFAULT') => 'Cool name');
$object->id_parent = Configuration::get('PS_HOME_CATEGORY');
$object->link_rewrite = array((int)Configuration::get('PS_LANG_DEFAULT') => 'cool-url');
$object->add();
这篇关于以编程方式添加类别prestashop的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文