metal:define-slot

This attribute must appear inside a metal:define-macro tag.

Slots can be replaced by caller template with some custom dynamically-generated XML/ XHTML.

Slots can be thought of like reverse includes, a macro can be an entire page and slots customize this page depending on the URL. For instance, a slot may contain the latest news in the home page or user actions when the member is logged in.


            <span metal:define-slot="news_place"><table><tr tal:repeat="item php:latestNews()"><td tal:content="item/value">news description</td></tr></table></span>

          

The above example defines a place called ' news_place' which can be overwritten by caller templates. See next section for the continuation of this example.

Warning

Slots work like variables, not like callbacks. metal:define-slot in tal:repeat will always repeat the same value over and over again.