我是Codeigniter HMVC的新手。我读了如何安装和使用模块,似乎一切都很好。
我正在尝试的是使用应用程序文件夹之外的模块,但没有运气。
我正在尝试浏览我的网址: localhost / contacts / admin
应用程序/配置/ config.php中
// Modular
$config['modules_locations'] = array(
APPPATH.'modules/' => '../../modules/',
);
ROOT /模块/联系人/控制器/ 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个相同的模块。 ROOT目录中有1个,应用程序目录中有另一个。控制器从ROOT模块加载,但视图来自应用程序目录(application / modules / contacts / views / admin.php)。
然后我在 application / modules / contacts / view 中删除了视图目录,得到错误:
无法加载请求的文件:admin.php
如果我从应用程序文件夹中删除模块目录,则会加载默认视图。
所以任何人都可以帮助弄清楚如何使用HMVC,因为直到现在我无法理解它是如何工作的。
答案 0 :(得分:0)
怎么样! :
$config['modules_locations'] = array(
APPPATH.'modules/' => $['HTTP_HOST'].'/ROOT/modules',
);
答案 1 :(得分:0)
默认情况下,您的视图需要在
中ROOT/modules/contacts/views/
但是如果你想要自定义Views文件夹,它之前已经得到了解答。请参阅以下链接。