2012-04-28 23 views
2

私は繰り返し、私は私のビューを表示する際に一つの変数が含まれるように抱えている:CodeIgniterの - 共有テンプレート変数

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

は、どのように私は私の見解出力のすべてにわたって、この一つの変数を含めることができますか?テンプレートクラスを拡張するより簡単な方法はありますか?

答えて

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

選択肢は、ユーザーがログインしているかどうかを返すヘルパーを作成することです。ヘルパーは、あなたのコントローラやビューでグローバルに利用できます。セッションの使用についてhttp://codeigniter.com/user_guide/general/helpers.htmlとも

+2

私はヘルパーオプションを使いました。ありがとう! – jSherz

0

方法を参照してください?

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

やクッキー

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

感謝。

+0

現在のCodeigniterセッションはCookieであることに注意してください。 – Eddie

0

グレートソリューション、ゴードン!しかし、場合によってはMost Simple Template Libraryを使用することもできます。

よろしくお願いいたします。

0

また、あなたのビュー内から直接クラスにアクセスすることができます

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

それは偉大な解決策ではないのですが、私はそれがユーザーの条件文でうまく動作見つけます。

関連する問題