以编程方式添加类别prestashop

Tar*_*lah 4 categories prestashop

我想以编程方式将类别添加到prestashop,我尝试了这段代码

$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;
Run Code Online (Sandbox Code Playgroud)

$对象 - >更新();

我收到此错误消息:

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
Run Code Online (Sandbox Code Playgroud)

与我指定的名称字段相关的错误

$object->name = "xcvxvvx";
Run Code Online (Sandbox Code Playgroud)

提前致谢

rom*_*ger 9

这是因为国际化.该ObjectModel级需要为名称的数组,酷似link_rewrite.

工作代码(在1.5.4.1上测试但应该在> = 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();
Run Code Online (Sandbox Code Playgroud)