【发布时间】:2023-03-28 22:51:01
【问题描述】:
我想以编程方式在模块的数据文件夹中创建一个类别。平面类别选项已启用。
当我尝试像这样创建一个类别时:
$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 创建,我不会'在管理员中看不到它。我真的被困住了。
如何以编程方式正确创建我的类别而不会出现问题?
【问题讨论】:
-
重新索引有帮助吗?
-
我会尝试重新索引,但我认为我应该在创建类别之前重新索引。因为我看到像 catalog_category_flat_store_X 这样的表是在重新索引过程之后创建的。
标签: magento categories flat