Perlプログラムに関する各種メモ書き

【Template-Toolkit】と【HTML::Template】のテンプレートファイル変換方法

【Template-Toolkit】(以下TT)をメインで使っていても、サーバ上のPerlのバージョンが低いとどうしても【HTML::Template】を使わざるをえなくなるときがある。

逆に普段【HTML::Template】だがTTの方が便利だという噂を聞いて使ってみたいという人がいるかもしれない…。

という事で TT <-> HTML::Template のテンプレートファイルの変換方法。

■1.変数

TTのテンプレートファイル内での変数記述方法は

[%data%]

HTML::Templateのテンプレートファイル内での変数記述方法は

%data%

簡単。(両サイドのカッコをトルだけ)

(※注 HTML::Template をnew するときに『vanguard_compatibility_mode => 1』とする必要がある。)


■2.ループ

TTのテンプレートファイル内でのループ記述方法は

[%FOREACH value=itemloop%]
[%value.data%]
[%END%]

HTML::Templateのテンプレートファイル内でのループ記述方法は

<!--tmpl_loop name="itemloop"-->
%data%
<!--/tmpl_loop-->

簡単!。


■3.条件分岐

HTML::Templateの条件分岐は値が「TRUE」か「FALSE」しか判断できないので

TTでこれ以外の条件分岐を行っているときはあきらめる。。。

「TRUE」「FALSE」でのみ条件分岐を行っているときは

TTのテンプレートファイル内での条件分岐記述方法は

[% IF file_1 != '' %]
<img src="[%file_1%]">
[% END %]

HTML::Templateのテンプレートファイル内での条件分岐記述方法は

<!--TMPL_IF NAME="file_1"-->
<img src="%file_1%">
<!--/TMPL_IF-->

関連エントリー

No.310
09/20 16:45

edit

TemplateToolkit
HTML::Template