1

我是 Codeigniter HMVC 的新手。我阅读了如何安装和使用模块,看起来一切都很好。

我正在尝试使用应用程序文件夹之外的模块,但没有运气。

我正在尝试浏览到我的网址:localhost/contacts/admin

应用程序/config/config.php

// Modular 
$config['modules_locations'] = array(
    APPPATH.'modules/' => '../../modules/',
);

ROOT/modules/contacts/controller/contacts.php

class Contacts extends MX_Controller  {
    var $ci;
    public function __construct() {
        parent::__construct(); 
        $this->ci =& get_instance();
        $this->load->helper('url');
    }
    function admin() {
        echo 'Controller: ROOT/Modules/Contacts<br />';
        $this->load->view('admin');
    }
}

这里似乎一切正常 - 控制器已加载,但随后我从视图开始,有些事情变得疯狂:

我有 2 个相同的模块。1 在 ROOT 目录中,另一个在应用程序目录中。控制器从 ROOT 模块加载,但视图来自应用程序目录(application/modules/contacts/views/admin.php)。

然后我删除application/modules/contacts/view中的视图目录,得到错误:

无法加载请求的文件:admin.php

如果我从应用程序文件夹中删除模块目录,它会加载默认视图。

所以任何人都可以帮助弄清楚如何使用 HMVC,因为直到现在我都无法理解它是如何工作的。

4

2 回答 2

0

关于什么 !?:

$config['modules_locations'] = array(
   APPPATH.'modules/' =>  $['HTTP_HOST'].'/ROOT/modules',
);
于 2012-12-31T22:05:19.193 回答
0

默认情况下,您的视图需要在,

ROOT/modules/contacts/views/

但是,如果您想要自定义 Views 文件夹,之前已经回答过了。请参考以下链接。

使用 CodeIgniter 加载视图文件夹外的视图

于 2017-02-07T08:51:33.600 回答