複数のアプリで共通のテンプレートファイルを使う

にはどうしたらいいのかなーとおもってTemplateのdocを眺めていたら

my $tt = Template->new({
    LOAD_TEMPLATES => [
        Template::Provider->new( INCLUDE_PATH => '/path/to/myapp/templates' ),
        Template::Provider->new( INCLUDE_PATH => '/path/to/common/templates' ),
    ],
    PREFIX_MAP => {
        default => 0,
        common  => 1,
    },
});

こんな感じでやれば、

[% INCLUDE 'common:header.tt' %]

ってやれば2個目のProviderが使われるようだ。なるほど。

0とか1とかはLOAD_TEMPLATESの配列の添え字を渡すみたい。。

ちなみにTemplate::FAQにのってる。

by typester / at 2006-11-27T17:08:00 / perl · tt / Comments(0)