我只将模块用于部分视图,它们从不直接路由到。相反,我有内部的主控制器和内部的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)?