Cette question concerne l'utilisation des macros de Template :: Toolkit (Perl)Comment inclure Template :: Toolkit-Macros?
Je ne parviens pas à écrire des macros et à les placer dans un fichier séparé pour les utiliser dans plusieurs autres fichiers modèles.
Mes macros se trouvent dans un fichier modèle distinct nommé macros.tt:
----- 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-%]
Maintenant, je suis en train d'utiliser cette macro dans un autre template - mais cela ne fonctionne pas comme la macro est pas étendue:
----- file demo.tt -------
[% INCLUDE macros.tt %]
….
[% status = ‘New’ %]
<td>[% decorateStatus(status) %]</td>
….
En plaçant la macro directement dans le fichier où je veux l'utiliser, tout fonctionne comme prévu.
Quelle est la manière «correcte» d'inclure des macros provenant d'un fichier différent?
Merci - vous êtes mon héros de la journée! Aurait dû lire le docu plus attentivement ;-) – hoppfrosch
Je peux recommander un [bon livre] (http://shop.oreilly.com/product/9780596004767.do) :-) –