1

我只将模块用于部分视图,它们从不直接路由到。相反,我有内部的主控制器和内部的application/controllers视图application/views/,执行Modules::run($moduleName, $params);这调用模块并在到达时呈现良好。

问题是我的路线都没有调用他们的application/controller/方法。这意味着我的路由已完全停止工作,只有我的route['default_controller']作品定义的主页。application/views因为我在调用 Modules::run($moduleName, $params)中的主模板文件成功,我可以验证模块和 HMVC 独立工作正常。

我最近从 CodeIgniter 2 升级到 3 以及来自 WireDesignz的Module Extensions - HMVC包。目录结构及相关文件见图片。

在此处输入图像描述

@/application/config/routes.php:

$route['default_controller'] = "dashboardcontroller/index";
$route['playlist(|.+?)'] = "dashboardcontroller/custommethod";

@/application/controllers/Dashboardcontroller.php(注释die()语句):

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class dashboardcontroller extends MX_Controller {

    private $data = array("pagi"=>array(), "me"=>array(), 'errors'=>null);

    function __construct() {
        parent::__construct();
    }
    function index() {
        die("THIS IS THE ONLY THING EVER HIT");
    }   
    function custommethod($moduleName, $params) {
         die("THIS IS NEVER HIT");      
    }
}

当我更改 Dashboardcontroller.php 以扩展 CI_Controller 时,我收到一连串错误,从 MX/Base.php 重新声明 CI 类开始。

如何将 URI 路由到应用程序/控制器并仍然使用 Module::run($moduleName, $params)?

4

0 回答 0