はこべさんのところで知ったCatalystのViewヘルパースクリプトTTSiteを使ってみる。
$ ./script/myapp_create.pl view TT TTSite
すると、rootディレクトリの下にTemplate Tookitの雛形を作ってくれる。
$ ls -l total 16 -rw-r--r-- 1 yusuke yusuke 2551 Sep 18 22:45 favicon.ico drwxr-xr-x 4 yusuke yusuke 4096 Sep 19 2006 lib drwxr-xr-x 2 yusuke yusuke 4096 Sep 19 2006 src drwxr-xr-x 3 yusuke yusuke 4096 Sep 18 23:02 static
libディレクトリには設定ファイル、srcにはTTファイルができる。 myapp.ymlに
View::TT: INCLUDE_PATH: - 'root/src' - 'root/lib'
としてディレクトリをView::TTのINCLUDEパスに含める。これで準備おけー。 自前の.ttファイルにもヘッダーとフッターをつけてくれて、それっぽい見た目にしてくれる。 見た目を変えたかったら設定を変えればよい。 例えばコントローラのRoot.pmでサンプルmessage.tt2を動かしてみる。
sub message : Local {
my ( $self, $c) = @_;
$c->stash->{message} ||= $c->req->param('message') || 'No message';
$c->stash->{template} = 'message.tt2';
}
自前の.ttもbodyの中身を書けばヘッダとフッタが付いたHTMLを出力してくれる。 所詮ヘルパースクリプトなのでそのまま実用的なサイトで使うことはないにしろ、Template Toolkitをうまく使う方法として参考になるね。以下は中身が「テストですよ」のみの.ttを表示させた例。


コメント (1)
私も勉強中なので詳細は不明ですが,指定方法がroot/srcだからかもしれませんが,*_server.plをrootがあるディレクトリから起動しないとエラーになるようです.
投稿者: tf0054 | 2007年01月02日 09:43
日時: 2007年01月02日 09:43