メール送信などをshellで行う時、viewを使うと便利ですが、ハマルポイントがあったのでご紹介します。
概ね、こんな感じのコードで取得できます。
App::import('Core', 'Controller'); App::import('Core', 'View'); class HogehogeShell extends Shell { public $tasks = array('View'); function startup(){} function main(){ $p=array('test'=>'test'); $text = $this->View->getContent('hoge', $p); } }
getContent()ですが、第1パラメータはテンプレート名で\app\vendors\shells\templates の下に置きましょう。
第二パラメータの$pはviewに渡すパラメータです。(通常$this->set()メソッドで渡すやつですね)
ポイントは第二パラメータで、渡すパラメータがない場合にarray()等を渡すとfatal errorになってしまいます。
適当に、array(‘hoge’=>’hoge’);などとしておけば大丈夫です。