« Plaggerで自分のはてブをMTのサイドバーに表示 | メイン | catalyst.pl の -short オプション »

Catalyst::Helper::View::TTSiteを使ってみる

はこべさんのところで知った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';
}

ttsite01.gif

自前の.ttもbodyの中身を書けばヘッダとフッタが付いたHTMLを出力してくれる。 所詮ヘルパースクリプトなのでそのまま実用的なサイトで使うことはないにしろ、Template Toolkitをうまく使う方法として参考になるね。以下は中身が「テストですよ」のみの.ttを表示させた例。

ttsite02.gif

トラックバック

このエントリーのトラックバックURL:
http://yusukebe.com/mt/mt-tb.cgi/1939

コメント (1)

tf0054:

私も勉強中なので詳細は不明ですが,指定方法がroot/srcだからかもしれませんが,*_server.plをrootがあるディレクトリから起動しないとエラーになるようです.

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)


ブログSEO対策:track word seo