cakePHPのサイトでユーザーにメッセージを送るときに、テンプレートファイルで内容を用意しておきたいな、と思ったもので、コントローラーから好きなViewファイルの内容を変数に入れるのをやってみました。CakeEmail.phpを参考にしました。
コントローラのアクションの中で
1 2 3 4 |
$View = new View(); $View->viewPath = 'Folders'; // Viewの下のフォルダ名 $View->viewVars = array('user'=>$this->Auth->user()); // 渡したい好きなパラメータを $out = $View->render('template_name', 'layout_name'); |
フォルダ名は既存のものに階層を掘っても(/スラッシュが使える)新しく作ってもかまいません。ファイル名のtemplate_nameを書き換えることで好きなViewファイルを使えます。