categories - 以编程方式添加类别 prestashop

标签 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;

$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

与我分配的名称字段相关的错误
$object->name = "xcvxvvx";

提前致谢

最佳答案

这是因为国际化。 ObjectModel class 需要一个数组作为名称,就像 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();

关于categories - 以编程方式添加类别 prestashop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18720880/

相关文章:

Wordpress - 排除某个类别出现在菜单或侧边栏小部件中

arrays - 如何基于参数对对象列表进行分类

objective-c - #define 宏和 xcode 警告以及缺少代码提示

mysql - 如果特定的 meta_key 不存在,则 wordpress 自定义 mysql 查询仅获取帖子

prestashop - 自定义 Cookie 变量 + Prestashop

templates - 如何在 prestashop 的 smarty 翻译中使用 html 标签?

ios - "Redefenition of ' 类别 ' as a different kind of symbol"并与 Objc 运行时类名冲突

.htaccess - PRESTASHOP NGINX + 重写规则

prestashop - 如何将订单引用更改为编号引用

prestashop - 在 Prestashop 中创建主页分页