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>