この質問は、Template :: Toolkit(Perl)のマクロの使い方についてです。Template :: Toolkit- Macrosを含めるには?
マクロを書き、別のファイルに入れて別のいくつかのテンプレートファイルで使用するのに失敗しました。
----- file macros.tt ------
[% MACRO decorateStatus(status) BLOCK -%]
[% ico = 'status_unknown' -%]
[% IF status == "New" -%][% ico = 'status_waiting' -%]
[% ELSIF status == "Working" -%][% ico = 'status_work' -%]
[% ELSIF status == "Deleted" -%][% ico = 'status_deleted' -%]
[% END -%]
[% status %] <img src="[% c.uri_for('/images/ico/' _ ico _ '.png') %]" text="[% status %]">
[% END-%]
は今、私は別のテンプレート内でこのマクロを使用しようとしている - しかし、これはマクロが展開されていないと失敗します:
私のマクロは別々のテンプレートファイルの名前macros.ttに位置している
----- file demo.tt -------
[% INCLUDE macros.tt %]
….
[% status = ‘New’ %]
<td>[% decorateStatus(status) %]</td>
….
マクロを使用したい場所に直接置くと、すべて正常に動作します。
別のファイルのマクロを含める「正しい」方法は何ですか?
ありがとうございます - あなたは私の一日のヒーローです! docuをもっと慎重に読んでください;-) – hoppfrosch
[良い本](http://shop.oreilly.com/product/9780596004767.do)をお勧めします:-) –