2

当我显示我的视图时,我反复必须包含一个变量:

$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()));

如何在我的所有视图输出中包含这一变量?有没有比扩展模板类更简单的方法?

4

4 回答 4

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 来返回用户是否登录。Helper 在您的控制器和视图中全局可用。请参阅http://codeigniter.com/user_guide/general/helpers.html以及

于 2012-04-28T11:21:06.030 回答
0

如何使用会话?

$this->session->userdata($var);

或饼干

$this->input->cookie($var, TRUE);

谢谢。

于 2012-04-28T11:44:43.133 回答
0

很好的解决方案,戈登!但是,根据具体情况,也可以使用最简单的模板库

问候!

于 2012-05-01T13:36:25.503 回答
0

您还可以直接从您的视图中访问该类:

<?php if( $this->auth->is_logged_in() ): ?>
  Hello!
<?php endif; ?>

这不是最好的解决方案,但我发现它适用于用户条件。

于 2012-05-01T13:40:44.420 回答