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

开发OpenCart 4扩展时访问路由出现404错误求助

OpenCart 4扩展访问404错误排查方案

1. 统一文件名、类名与命名空间的大小写

OpenCart 4的自动加载机制对大小写敏感(尤其Linux环境下),需确保以下内容完全匹配:

  • 控制器文件名:myextension.php(全小写)
  • 类名:改为Myextension(首字母大写,其余小写,与文件名对应)
  • 命名空间:调整为Opencart\Admin\Controller\Extension\Myextension\Payment(Myextension需与目录名myextension一致)

修正后的控制器代码:

<?PHP

namespace Opencart\Admin\Controller\Extension\Myextension\Payment;

class Myextension extends \Opencart\System\Engine\Controller {

   public function index() {

        $data = array();

        $data['header'] = $this->load->controller('common/header');
        $data['column_left'] = $this->load->controller('common/column_left');
        $data['footer'] = $this->load->controller('common/footer');

        $this->response->setOutput($this->load->view('extension/myextension/payment/myextension', $data));
   }
}

2. 确认视图文件路径匹配

当前视图加载代码$this->load->view('extension/myextension/payment/myextension', $data)是正确的,对应文件位置/opencart/extensions/myextension/admin/template/payment/myextension.twig,无需修改。

3. 清除系统缓存

OpenCart 4会缓存控制器类映射,修改文件后必须清除缓存:

  • 后台路径:系统 > 设置 > 存储,点击右上角清除缓存按钮
  • 手动方式:删除/opencart/system/storage/cache/目录下所有缓存文件

4. 验证路由格式

你访问的路由http://localhost/admin123/index.php?route=extension/myextension/payment/myextension符合OpenCart 4扩展路由规则(extension/{扩展名}/{模块类型}/{控制器}),格式无误。

5. 检查目录文件权限

确保/opencart/extensions/myextension/及其子目录、文件权限设置正确(目录通常设为755,文件设为644),避免服务器因权限问题无法读取文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 20:46:33