Perlメモ
現在作業中のCatalyst上でのテンプレートの備忘録メモ。
Catalyst::View::TTでのフィルター作成時のメモ
package Archive::View::TT;
use strict;
use Template::Filters;
use base 'Catalyst::View::TT';
__PACKAGE__->config(
TEMPLATE_EXTENSION => '.tt', #テンプレートファイルの拡張子
EVAL_PERL => 'true', #テンプレートファイル上でPERLディレクティブを使用する設定
FILTERS => {
'date_form' => \&date_filter, #テンプレートファイル上でFILTER date_formを呼び出すとdate_filterのサブルーチンへ
'no_title' => \&filename_filter,
},
);
sub date_filter { #簡単な日付表示の変更ex. 2007-08-15 → 07.08.15
my $text = shift;
$text = substr($text, 2);
$text =~ s/-/\./g;
return $text;
}
sub filename_filter { #簡単なファイル名から拡張子を抜き出すex. hoge.pdf → PDF形式
my $text = shift;
$text =~ /^.+\.(.+)$/;
$text = uc($1);
$text .= '形式';
return $text;
}
1;コントローラーで処理するか、DB側で処理するかが多いのでついついテンプレートを放置してしまいそうですが、ここでも色々いじれると楽ですね。特に.ttファイルの修正だけならリブートいらないし。

コメントする