Catalyst::View::Xslateでfunction追加してみた。
2012年7月4日
Catalyst::Helper::View::Xslateで生成した、Myapp::View::Xslateにfunctionを追加してみました。
syntaxは、TTerseにしてます。
(元々使ってたTT2用のテンプレートファイルを使ってるので、、)
package Myapp::View::Xslate;
use Moose;
extends 'Catalyst::View::Xslate';
has '+syntax' => ( default => 'TTerse' );
has '+module' => (
default => sub { [ 'Text::Xslate::Bridge::TT2Like' ] }
);
has '+function' => (
default => sub {
+{
hoge => sub {
return 'hoge';
},
foo => sub {
my ( $text ) = @_;
return $text;
}
},
}
);
これで、テンプレートで、hogeとfooが使えるようになりました。
<!-- 'hoge'を返す -->
[% hoge() %] -> hoge
<!-- 引数を渡すとそのまま返す -->
[% foo('aaa') %] -> 'aaa'
以上、メモでした。