Components and namespaces¶
Components¶
You can import components from a separate file:
%import components
html:
head:
title: 'ZML'
%for style in page.stylesheets:
base-style src=style
%for script in page.scripts:
script src=script
body:
base-menu items=pages
The %import statement imports the file components.zml and loads its components. The component statement “base-menu” loads a component “menu” from the “base”-namespace. In this example there is a parameter for the compoment named “items”. The value “pages” is a property of the context, which can be supplied in a controller which calls the render function of the template with a template context or by using a data section.
Namespaces¶
The file components.zml contains a %namespace statement which set the namespace-alias for the namespace “doonx.org/base” to “base”.
The components are defined with a * star symbol followed by the name of the component.
%namespace base=doonx.org/base
*menu:
div.menu:
ul.navitems:
%for item in items:
li: {item.title}
*style:
link rel='stylesheet' type='text/css' href='{src}'