LoginSignup
6
12

More than 5 years have passed since last update.

CodeIgniterで全体レイアウトとサブビューのファイルを分ける

Posted at

CakePHPのような、全体のレイアウトファイルがあって、個別のViewファイルはその一部を反映するためのもの、という運用をCodeIgniterで実現する方法について。

ビューの内容を文字列として取得する

$content = $this->load->view('subview', '', true);

viewメソッドはそのまま使うと指定された名前のビューの内容を出力してしまいます。
しかし第3引数にtrueを与えることで、ビューの内容を出力せず文字列として取得できます。

第2引数をセットすることでデータを渡すこともできます。

$content = $this->load->view('subview', $subdata, true);

参考文献

それぞれ「Returning views as data」の項を参照。

取得した文字列を反映して外側のビューを出力する

$data['content'] = $content;
$this->load->view('layout', $data);

取得した文字列を別のビューに渡して反映すれば出力できます。

6
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
12