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'
以上、メモでした。