複数のアプリで共通のテンプレートファイルを使う
にはどうしたらいいのかなーとおもって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にのってる。