読者です 読者をやめる 読者になる 読者になる

fuelphpでテンプレートファイルを分割する

テンプレートファイルも分割してincludeするような仕組みにするのは当然でしょうから。 テンプレートファイルも分割する。

基本的にはここに書いてある。 http://fuelphp.jp/docs/1.5/general/views.html

遅延レンダリングの所があんまよく解ってないが。。。

とりあえずデフォルトのwelcomeってディレクトリ使う前提で。 ビューファイルはこんな感じ。

fuel/app/views
└── welcome
    ├── 404.php
    ├── content.php
    ├── head.php
    ├── hello.php
    └── index.php

でコントローラでは

<?php
# レイアウトビューを作成
$view = View::forge('welcome/index');
# テンプレートアサインデータを取得
$body_assing_data = array('hoge_data' => $hoge_hash, 'foo_data' => $foo_hash);

# 変数としてビューを指定する
$view->head = View::forge('welcome/head');
$view->content = View::forge('welcome/content', $body_assing_data);

どうやらレイアウトとして指定したビューに変数としてビューオブジェクトを渡せばレンダリングまでやってくれるっぽい (ソース見てないが動いてる)

注意する点としてはアサインデータはそれぞれのビューオブジェクトにアサインしないと使えない。 レイアウトビューに指定するのもダメっぽい。

もっと読まんとなー。