我想以编程方式在模块的数据文件夹中创建一个类别。平面类别选项已启用。
当我尝试像这样创建一个类别时:
$category
->setStoreId(0)
->setName('My category')
->setUrlKey('club-campaigns')
->setPath($rootCategory->getPath())
->setIsActive(1)
->setIsAnchor(1)
->setIncludeInMenu(1)
->addData($data)
->setCustomDesignApply(1)
->save();
我收到一个错误,指出 catalog_category_flat 不存在。好的,所以我知道平面类别信息保存在 catalog_category_flat_store_storenumber 表中。我查看了数据库,我有以下表格:
catalog_category_flat_store_1
catalog_category_flat_store_2
catalog_category_flat_store_3
catalog_category_flat_store_4
catalog_category_flat_store_5
catalog_category_flat_store_6
我想为商店 6 创建一个类别。很好,现在如果我这样做:
$category
->setStoreId(6)
->setName('My category')
->setUrlKey('club-campaigns')
->setPath($rootCategory->getPath())
->setIsActive(1)
->setIsAnchor(1)
->setIncludeInMenu(1)
->addData($data)
->setCustomDesignApply(1)
->save();
该类别的创建没有错误,它在 catalog_category_flat_store_6 中设置了信息,但是如果我转到 admin>Manage Categories 并且看不到我的类别已创建。
我认为,当我创建一个类别时,我应该设置 admin(0) 的商店 ID,以便我可以在管理面板中看到它,但随后我收到上面的错误,如果我使用商店 6 创建,我看不到它在管理员中。我真的被困住了。
如何以编程方式正确创建我的类别而不会出现问题?