Plone uses TAL template language which has `METAL <>`_ extensions for macros. TALES expressiong
Plone 3 has two kind of template
- View page templates. They have associated view template variable. These templates live under browser/ folder structure in your add-on product. You can override them by <browser:page> ZCML directive.
- Old style page templates. They live under plone_skins structure in ZMI and. You can override them by register a new plone_skins layer. The most infamous of them is main_template which provides skeleton for all Plone themes.
See browser:page
TAL is template language used Plone. TAL is XML based language, which puts programming logic to XML attributes.
By default, all TAL output is escaped for the security reasons.
view.text = "<b>Test</b>"
<div tal:content="view/text" />
Will output escaped HTML source code:
<b>Testlt;/b>
Unescaped content can be outputted using tal:replace attribute and structure.
<div tal:replace="structure view/text" />
Will output unescaped HTML source code:
<b>Test</b>
METAL is TAL extension to provide macros and slots to the template language.
Using METAL macros is no longer recommended, since they couple programming logic too tightly with the template language. You should use views instead.
Read more about in TAL Guide.
TALES expressions are condition clauses used in TAL templates and various other parts of Plone
Read more about expressions in TAL Guide.
See :doc:`Expressions chapter </content/expressions>`_ for more information.