Plone: Makros in Zope Page Templates
Um Doppelungen von Template-Code zu vermeiden, verwendet man in den Templates von Plone oft Makros. Nachfolgend wird erläuter wie man einen Code-Schnipsel als Makro definiert und Ihn mehrfach verwendet.
Code-Schnipsel als Makros definieren
Mit define-macro definieren wir uns ein Makro mit dem Namen selectionmacro.
<metal:selectionmacro define-macro="selectionmacro">
<div class="contentActions">
<ul>
<li class="hitlist">
<dl class="deactivated actionMenu">
<dt class="actionMenuHeader">
<a href="#">Hitlist</a>
</dt>
<dd class="actionMenuContent">
<ul>
<li>
<a tal:attributes="href string:${page_url}&b_size:int=10">10</a>
</li>
<li>
<a tal:attributes="href string:${page_url}&b_size:int=50">50</a>
</li>
</ul>
</dd>
</dl>
</li>
</ul>
</div>
</metal:listingmacro>
Makro verwenden
Mit use-macro können wir das Makro jetzt beliebig oft im Template verwenden.
<div metal:use-macro="template/macros/selectionmacro" />
Es ist ebenfalls möglich ein Makro aus einem anderem Tamplate zu verwenden.
<div metal:use-macro="context/batch_macros/macros/navigation" />