You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Magento 2.4.3版本访问商店配置时出现错误

商店配置功能无法使用:Undefined index: id 错误

通过Composer安装某扩展后无法正常工作,移除该扩展后,Magento 2后台商店配置功能失效,触发以下错误:

1 exception(s):
Exception #0 (Exception): Notice: Undefined index: id in /var/www/bmgpharmacy.com/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php on line 63

Exception #0 (Exception): Notice: Undefined index: id in /var/www/bmgpharmacy.com/vendor/magento/module-config/Model/Config/Structure/Element/Iterator.php on line 63
#1 Magento\Config\Model\Config\Structure\Element\Iterator->setElements() called at [vendor/magento/module-config/Model/Config/Structure.php:146]
#2 Magento\Config\Model\Config\Structure->getTabs() called at [generated/code/Magento/Config/Model/Config/Structure/Interceptor.php:23]
#3 Magento\Config\Model\Config\Structure\Interceptor->getTabs() called at [vendor/magento/module-config/Model/Config/Structure.php:209]
#4 Magento\Config\Model\Config\Structure->getFirstSection() called at [generated/code/Magento/Config/Model/Config/Structure/Interceptor.php:59]
#5 Magento\Config\Model\Config\Structure\Interceptor->getFirstSection() called at [vendor/magento/module-config/Controller/Adminhtml/System/AbstractConfig.php:63]
#6 Magento\Config\Controller\Adminhtml\System\AbstractConfig->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#7 Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#8 Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/weltpixel/m2-weltpixel-backend/Plugin/Utility.php:76]
#9 WeltPixel\Backend\Plugin\Utility->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#10 Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/module-backend/App/Action/Plugin/Authentication.php:143]
#11 Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]
#12 Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#13 Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->___callPlugins() called at [generated/code/Magento/Config/Controller/Adminhtml/System/Config/Index/Interceptor.php:32]
#14 Magento\Config\Controller\Adminhtml\System\Config\Index\Interceptor->dispatch() called at [vendor/magento/framework/App/FrontController.php:245]
#15 Magento\Framework\App\FrontController->getActionResponse() called at [vendor/magento/framework/App/FrontController.php:212]
#16 Magento\Framework\App\FrontController->processRequest() called at [vendor/magento/framework/App/FrontController.php:147]
#17 Magento\Framework\App\FrontController->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]
#18 Magento\Framework\App\FrontController\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]
#19 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]
#20 Magento\Framework\App\FrontController\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/App/FrontController/Interceptor.php:23]
#21 Magento\Framework\App\FrontController\Interceptor->dispatch() called at [vendor/magento/framework/App/Http.php:116]
#22 Magento\Framework\App\Http->launch() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:23]
#23 Magento\Framework\App\Http\Interceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:264]
#24 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:29]

已尝试以下步骤但未解决问题:

  • 启用开发者模式
  • 刷新缓存
  • 清理缓存
  • 执行setup:upgrade命令
  • 执行setup:di:compile命令

解决方案

1. 彻底清理扩展残留

  • 打开app/etc/config.php,检查是否存在已移除扩展的条目,若有则将其值设为0或直接删除该行,保存后执行php bin/magento setup:upgrade。
  • 手动删除以下目录中可能残留的扩展文件:
    • app/code/[Vendor]/[Module](若扩展未通过Composer安装)
    • var/view_preprocessed/
    • pub/static/adminhtml/
    • pub/static/frontend/

2. 执行深层清理命令

运行以下命令彻底清除缓存与生成文件:

rm -rf var/cache/* var/page_cache/* var/generation/* var/di/* var/view_preprocessed/* pub/static/*
php bin/magento cache:flush
php bin/magento setup:upgrade
php bin/magento setup:di:compile
php bin/magento setup:static-content:deploy -f

3. 排查WeltPixel插件冲突

错误栈显示WeltPixel后台插件参与了请求处理,可能存在兼容性问题:

  • 临时禁用该插件:
    php bin/magento module:disable WeltPixel_Backend
    php bin/magento setup:upgrade
    php bin/magento cache:flush
    
  • 若禁用后问题解决,需更新WeltPixel插件至兼容当前Magento版本的版本,或联系插件开发者排查冲突。

4. 检查配置结构文件

该错误源于配置结构元素缺少id索引,需检查所有system.xml文件:

  • 执行命令搜索所有相关文件:
    find app/code vendor -name system.xml -exec grep -l "tab\|section" {} \;
    
  • 逐一打开这些文件,确保所有<tab>和<section>节点都包含id属性,格式示例:
    <tab id="custom_tab" translate="label" sortOrder="10">
        <label>Custom Tab</label>
    </tab>
    

内容的提问来源于stack exchange,提问作者Yazeed Karajeh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 04:17:03