metal:use-macro
Dieses Attribut ruft ein Makro auf und setzt das Ergebnis an seiner statt in die aktuelle Vorlage ein.
<span
tal:comment="main_menu template requires 'mdate' variable"
tal:define="mdate page/last_modified"
metal:use-macro="main_menu"
/>
Makros lassen sich über die Angabe des Dateinamens auch aus anderen Vorlagen ansprechen.
<span metal:use-macro="site_macros.xhtml/main_menu"/>
Der PHPTAL-Ersetzungsmechanismus läßt sich auch innerhalb von metal:use-macro
Werten nutzen:
<span metal:use-macro="${design}/site_macros.xhtml/main_menu"/>
Ein Makro darf sich selbst aufrufen. Auf diese Weise können Sie Felder rekursiv ausgeben:
<ul metal:define-macro="show-list">
<li tal:repeat="item list">
<tal:block tal:condition="php:is_array(item)" tal:define="list item" metal:use-macro="show-list" />
<tal:block tal:condition="php:!is_array(item)" tal:content="item" />
</li>
</ul>