我在显示我的观点时不得不包含一个变量:
$this->load->view('login', array('logged_in' => $this->auth->is_logged_in()));
$this->load->view('somepage', array('logged_in' => $this->auth->is_logged_in()));
$this->load->view('anotherpage', array('logged_in' => $this->auth->is_logged_in()));
如何在所有视图输出中包含这一个变量?有没有比扩展模板类更简单的方法?
答案 0 :(得分:3)
一种更简单的方法是将数组变为变量,因此您无需一直输出,例如。
$params = array('logged_in' => $this->auth->is_logged_in());
$this->load->view('login', $params);
$this->load->view('somepage', $params);
$this->load->view('anotherpage', $params);
另一种方法是创建一个Helper,返回用户是否已登录。助手在控制器和视图中全局可用。请参阅http://codeigniter.com/user_guide/general/helpers.html以及
答案 1 :(得分:0)
如何使用会话?
$this->session->userdata($var);
或cookies
$this->input->cookie($var, TRUE);
感谢。
答案 2 :(得分:0)
很好的解决方案,戈登!但是,根据具体情况,也可以使用Most Simple Template Library。
问候!
答案 3 :(得分:0)
您也可以直接在视图中访问该课程:
<?php if( $this->auth->is_logged_in() ): ?>
Hello!
<?php endif; ?>
这不是最好的解决方案,但我发现它适用于用户条件。