我使用Codeigniter和Ionauth库来管理用户。我使用的结构如下:
Controllers:
- home
- auth
Views:
- home
- home_view.php
- templates
- header.php
- footer.php
- auth
- login
- register
当我创建我的主视图时,它会添加header.php和footer.php模板,并将它自己的数据传递给主体。
我的问题是,我想在header.php file
(表单内)中使用我的登录功能,但是,目前这不可能,因为我的登录功能位于{ {1}}控制器。我是否可以在/auth/
控制器之外使用此登录功能,即。在/auth/
文件夹中的header.php文件中?
如果没有,您可以提出任何可能的解决方案吗?
由于
答案 0 :(得分:1)
是的,你可以这样做 -
将核心ci_controller扩展为MY_Controller
所以,创建你的文件 - application / libraries / MY_Controller.php - 并用这段代码填充它:
<?php
class MY_Controller extends Controller {
function MY_Controller () {
__construct()
{
parent::Controller();
$this->load->view('templates/header') // now in this way your header will get automatically included to every controller which extends MY_Controller
}
}
//...
}
?>
现在将控制器扩展到MY_Controller
class auth extends MY_Controller {
function __construct() {
parent::MY_Controller();
}
//...
}
class home extends MY_Controller {
function __construct() {
parent::MY_Controller();
}
//...
}