Syntax
argument ::= expression
Description
The data-fill-slot statement customizes a macro by replacing a slot in the macro with the statement element (and its content).
The data-fill-slot statement must be used inside a data-use-macro statement. Slot names must be unique within a macro.
If the named slot does not exist within the macro, the slot contents will be silently dropped.
Note: some parts extracted from Zope Page Templates Reference.
Differences with ZPT
- In ZPT the syntax is argument ::= Name, so all slot invokations are literals. ZPT-JS uses expressions.
- Syntax of external macro invokation.
Examples
Given this macro::
<div data-define-macro="enhacedSidebar">
Links
<div data-define-slot="links">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/products">Products</a></li>
<li><a href="/support">Support</a></li>
<li><a href="/contact">Contact Us</a></li>
</ul>
</div>
<span data-define-slot="additional_info"></span>
</div>
You can fill the links slot like so:
<div data-use-macro="'enhacedSidebar'">
<div data-fill-slot="'links'">
<ul>
<li><a href="/">Home</a></li>
<li><a href="/otherProducts">Other products</a></li>
<li><a href="/sales">Sales!</a></li>
</ul>
</div>
</div>