误删PrestaShop的Home分类,无数据库权限如何恢复?
无数据库权限恢复PrestaShop Home分类的方法
方法1:自定义PHP脚本一键恢复
这个方法利用PrestaShop自带的ORM操作数据库,无需直接数据库权限,只需能上传文件到服务器:
- 新建
restore_home_category.php文件,写入以下代码:
<?php require_once(dirname(__FILE__).'/config/config.inc.php'); require_once(dirname(__FILE__).'/init.php'); $homeCategory = new Category(2, null, Context::getContext()->shop->id); if (!$homeCategory->id) { $category = new Category(); $category->id = 2; $category->name = []; $category->link_rewrite = []; foreach (Language::getLanguages(true) as $lang) { $category->name[$lang['id_lang']] = 'Home'; $category->link_rewrite[$lang['id_lang']] = 'home'; } $category->id_parent = 0; $category->active = 1; $category->is_root_category = 0; $category->add(); Configuration::updateValue('PS_HOME_CATEGORY', 2); echo 'Home分类已恢复完成'; } else { echo 'Home分类已存在,无需操作'; }
- 将文件上传到店铺根目录(通过FTP或文件管理器)
- 在浏览器访问
你的店铺域名/restore_home_category.php,执行完成后立刻删除该文件
方法2:修正CSV导入参数(解决之前导入无效问题)
之前CSV导入失败是因为未勾选强制ID选项且字段不全,按以下步骤操作:
- 准备CSV文件,包含核心字段(示例为单语言单店铺):
id,id_parent,active,name,link_rewrite,id_shop,id_lang,is_root_category,meta_title 2,0,1,Home,home,1,1,0,Home
- 后台进入高级参数 > 导入,选择分类导入类型
- 勾选「强制所有ID」选项,匹配CSV表头与系统字段
- 执行导入后,到首选项 > 主题中,将首页分类设置为ID=2的分类
注意事项
- 操作前优先备份现有店铺数据
- 自定义脚本执行后必须删除,避免安全隐患
- 多店铺/多语言环境需调整脚本或CSV中的对应字段
内容的提问来源于stack exchange,提问作者TEFY Paul
相关产品推荐
相关产品推荐

