IT女子のお気に入りフォルダ

管理人の備忘録と実践を兼ねた(出来るだけ)役に立つ情報を配信するブログです。

[fuelPHP]特定のアクションだけテンプレートを替える

fuelPHPではテンプレートコントローラの$templateプロパティを設定することによって、コントローラごとに異なるテンプレートを利用できます。

class Controller_Example extends Controller_Template
{
    publid $template = 'example/template';
}

上記は、Controller_Example(コントローラ)が APPPATH/views/example/template.php をテンプレートとして設定しています。

ひとつのコントローラの中で、特定のアクションだけ異なるテンプレートを使用したい場合があります。
その場合は、以下のようにアクション内で$this->templateにViewオブジェクトを代入します。
※アクション内で$this->templateを単純に変更するだけでは上手くいきません。Viewオブジェクトを代入することがポイントです。

class Controller_Example extends Controller_Template
{
    publid $template = 'example/template';

    public function action_sample()
    {
        $this->template = View::forge('example/another_template');
    }
}