3

我正在使用带有 HMVC 的 Codeigniter 中的 Tank Auth 库,并且整个 tank auth mvc 文件都在它自己的名为“auth”的模块中。tank auth 使用以下方法加载在文件夹 (auth) 中找到的视图 (domain.com/application/modules/auth/views/auth/login_form.php):

$this->load->view('auth/login_form', $data);

据我所知,上面的代码将在没有 HMVC 的情况下正确加载 auth 文件夹中的 login_form.php。但是对于 HMVC,我需要以下代码来加载视图:

$this->load->view('auth/auth/login_form', $data);

是否有我们应该更改的设置,以便我们不必通过(模块名称)/(视图文件夹名称)/(视图文件名)来引用视图文件?或者这是完全正常的,大多数人都是这样做的?

我必须将模块文件夹名称“auth”添加到每个 view() 函数调用中,并且如果我更改模块文件夹的名称,则更改所有这些似乎很麻烦。

4

1 回答 1

3

假设您正在使用模块化扩展 - HMVC

如果您已经auth设置为模块,则可以调用:

$this->load->view('login_form', $data);

该文件/views/login_form.php将从当前模块中加载。这适用于模型、语言文件、库等。将模块视为它自己的应用程序,这是您通常会做的事情。

此外,要从模块目录之外的另一个模块或控制器加载文件,您可以使用$this->load->view('auth/login_form');

如果找不到该文件,它将检查其他模块路径,包括默认目录。这可能是也可能不是其他 HMVC 包的工作方式,我不确定 - 但这是 MX 的工作方式。

于 2011-06-07T17:52:23.930 回答