- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- Perl/テンプレートエンジン/Template-Toolkit(文法) へ行く。
- 1 (2007-09-03 (月) 04:46:24)
- 2 (2008-07-30 (水) 04:09:56)
- 3 (2008-11-14 (金) 03:56:56)
- 4 (2009-06-20 (土) 06:57:50)
- 5 (2009-09-30 (水) 02:21:54)
- 6 (2010-05-01 (土) 18:02:52)
- 7 (2010-05-18 (火) 18:50:44)
- 8 (2011-03-21 (月) 13:07:20)
- 9 (2011-04-18 (月) 08:51:20)
- 10 (2011-06-11 (土) 06:04:05)
- 11 (2011-06-11 (土) 15:46:31)
Template Toolkit
文字列結合
[% 'a' _ 'b' %]
http://search.cpan.org/perldoc?Template::Manual::Directives
IF
[% IF foo %] .............. [% ELSIF bar %] .............. [% ELSE %] .............. [% END %]
配列
[% users.0 %] [% users.1 %]
ハッシュ
[% pagename = 'next' %] [% page.$pagename %] # same as [% page.next %]
http://search.cpan.org/perldoc?Template::Manual::Variables
ループ
[% FOREACH i IN items %] [% i %] [% loop.index() %] # loopオブジェクトはFOREACHに標準で組み込まれたオブジェクト [% END %]
[% WHILE (user = get_next_user_record) %] [% user.name %] [% END %]
loopオブジェクトのメソッド
- size() number of elements in the list
- max() index number of last element (size - 1)
- index() index of current iteration from 0 to max()
- count() iteration counter from 1 to size() (i.e. index() + 1)
- first() true if the current iteration is the first
- last() true if the current iteration is the last
- prev() return the previous item in the list
- next() return the next item in the list
http://search.cpan.org/perldoc?Template::Manual::Directives
フィルター
改行コードをBRタグへ
<p>[% bar | html_line_break %]</p>
参考
http://search.cpan.org/perldoc?Template::Manual::Filters
コメント
[% # this is a comment to the end of line foo = 'bar' %] [%# placing the '#' immediately inside the directive tag comments out the entire directive %]
http://search.cpan.org/perldoc?Template
インクルード・インサート
TTファイルをインクルード
[% INCLUDE header.tt %]
HTMLファイルをインクルード
[% INSERT "$DOC_ROOT/footer.html" %]
- $DOC_ROOTはTTをnewする時に設定しておくと良い。
- インクルードするファイルのパスは、コンフィグで相対・絶対パスの指定をする必要がある。
- http://search.cpan.org/perldoc?Template::Manual::Config
参考
http://search.cpan.org/perldoc?Template::Manual::Directives
関数
配列のjoin()
[% items.join(', ') %]
配列のサイズ
[% results.size %]