Introduction
============

With collective.multitemplate you can register more than one template for a
portlet and when adding such a portlet you can select which template to use
for rendering the portlet. It's similar to the 'display' menu for content.

Usage
=====

A portlet needs to support collective.multitemplate by using
`collective.multitemplate.portlet.Assignment` as the base class for
assignments and use `collective.multitemplate.portlet.ViewMultiTemplate` by
wrapping the default template like this::

  render = ViewMultiTemplate(ViewPageTemplateFile("portlet.pt"))

It is then possible to define additional templates with code snippets like::

  additional_template = MultiTemplate(ViewPageTemplateFile("portlet2.pt"))

and zcml like::

  <adapter
    factory=".portlet.additional_template"
    for=".portlet.Renderer"
    provides="collective.multitemplate.IMultiTemplate"
    name="Additional template"
    />

The registration of additional templates can live in a different package then
the original portlet.
