HTML::Template

new()

$template = HTML::Template->new(
path => ['/home/www/tmpl_dir'],
filename => 'index.tmpl',
die_on_bad_params => 0,
global_vars => 1)

変数

HTMLエスケープ

<input name=param type=text value="<TMPL_VAR ESCAPE=HTML NAME="PARAM">">

URLエスケープ

<input name=param type=text value="<TMPL_VAR ESCAPE=URL NAME="PARAM">"

デフォルト値

The <TMPL_VAR NAME=WHO DEFAULT=devil> gave me a taco.

ループ

<TMPL_LOOP NAME=EMPLOYEE_INFO>
   Name: <TMPL_VAR NAME=NAME> <br>
   Job:  <TMPL_VAR NAME=JOB>  <p>
</TMPL_LOOP>
$template->param(EMPLOYEE_INFO => [ 
      { name => 'Sam', job => 'programmer' },
      { name => 'Steve', job => 'soda jerk' },
      ]
);

IF/ELSE/UNLESS

<TMPL_IF BOOL>
  Some text that is included only if BOOL is true
<TMPL_ELSE>
  Some text that is included only if BOOL is false
</TMPL_IF>

以下はループが空の時に機能する

<TMPL_UNLESS LOOP_ONE>
  ループは空です
</TMPL_UNLESS>

インクルード

<TMPL_INCLUDE NAME="filename.tmpl">

filename.tmplのファイルパスは、

  • インクルードするテンプレートと同じ位置からの相対パス
  • /から始る絶対パス
  • new()した時にpath => 'tmpl_dir'でテンプレートディレクトリを指定

のいずれかの方法で指定する。

new()のオプション

loop_context_vars

<TMPL_LOOP NAME="FOO">
   <TMPL_IF NAME="__XXXXX__">
     XXXXにマッチした内容の文言    </TMPL_IF>
</TMPL_LOOP>
  • __first__
  • __last__
  • __inner__
  • __odd__
  • __counter__

die_on_bad_params

$template->param(param_name => 'value')してて、テンプレートに<TMPL_VAR NAME=param_name>がなくてもエラーにならない。よく使う。

global_vars

TMPL_LOOP>内で、グローバルな<TMPL_VAR>を参照できる。よく使う。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2006-04-22 (土) 18:13:24 (4616d)