Skip to main content

Five bridges and patches to use Chameleon with Zope 2.

Project description

Overview
========

The five.pt package brings the Chameleon template engine to Zope 2. It's a
drop-in replacement, providing bridges to the most common API.

Support for browser pages, viewlets and viewlet managers is included.

Usage
-----

To enable Chameleon, simply include the ZCML configuration::

<include package="five.pt" />

Tempates may be instantiated directly. Here's an example of a browser view
which uses a view page template::

from Products.Five import BrowserView
from five.pt.pagetemplate import ViewPageTemplateFile

class SimpleView(BrowserView):
index = ViewPageTemplateFile('simple.pt')

Other template classes are available, see the ``pagetemplate`` module.

For general information about Chameleon, see http://chameleon.repoze.org/.

Changelog
=========

1.3 - 2010-09-08
~~~~~~~~~~~~~~~~

- Added support for ``PageTemplate`` and
``ZopePageTemplate``. [malthe]

1.2 - 2010-08-30
~~~~~~~~~~~~~~~~

- Fixed acquisition-wrapping issue: we need to wrap with the parent to
avoid a pair of template objects (original and patched).

1.1 - 2010-05-15
~~~~~~~~~~~~~~~~~

- Add DateTime to the base context. Fixes problems with certain ZMI pages.
[wichert]

1.0 - 2010-05-13
~~~~~~~~~~~~~~~~~

- If template is not an acquirer, wrap it implicitly. [malthe]

- Removed unused ``ViewletManager`` ZCML handler. [malthe]

0.10 - 2010-04-20
~~~~~~~~~~~~~~~~~

- Improve five.grok support [fretin]

- Check if templates are acquisition-aware before trying to wrap them. This
fixes problems with METAL macros in some ZMI pages. [wichert]

0.9 - 2010-04-14
~~~~~~~~~~~~~~~~

- Basic support for five.grok templates. [wichert]

0.8 - 2010-01-05
~~~~~~~~~~~~~~~~

- Fixed some calling convention oddity that would result in the view
instance being passed doubly as the template arguments.

0.7 - 2009-05-20
~~~~~~~~~~~~~~~~

- Default encoding of the base template set to UTF-8. [malthe]

- Update to latest Chameleon. [malthe]

- Patch ``macros`` attribute. [malthe]

0.6 - 2009-04-06
~~~~~~~~~~~~~~~~

- Avoid another case of unconditionally attempting to Acquisition wrap
template files. We do have an interface check for this. [hannosch]

0.5 - 2009-02-17
~~~~~~~~~~~~~~~~

- Added test function to template context. [malthe]

- Fixed edge-case (special case?) where the view of a
ViewPageTemplateFile is really only the view for a view. [malthe]

- Added patch for ``Products.PageTemplates.PageTemplateFile``. [malthe]

- Rework the "full namespace provided to path expression" change introduced
in 0.3. We no longer call the expensive locals() function but construct a
minimal namespace with the context and request ourselves. [hannosch]

- If the ``__get__`` method is called uninstantiated, just return the
class itself. [malthe]

five.pt 0.4 (released 2/13/2009)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Fixed issue where the ``template`` parameter to a viewlet manager
directive was effectively ignored. [malthe]

- Fixed acquisition-wrapping issue with the (patched) bound template
class (could cause infinite loop due to cyclic acquisition
chain). [malthe]

- Moved evaluate_path and evaluate_exists over to ``z3c.pt``, adding
support for global ``path()`` and ``exists()`` functions for use in
``python:`` expressions to it (LP #317967). [sidnei]

five.pt 0.3 (released 12/17/2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Use bobo traversal if ``OFS.interfaces.ITraversable`` interface is
provided. [malthe]

- Adjusted the path expression to provide the full namespace to the render
function and not just the request. This matches Zope2 behavior. [hannosch]

five.pt 0.2 (released 11/29/2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- From Zope 2.12 onwards, do not acquisition-wrap content
provider. [malthe]

- Split out CMF-related code to separate package. [malthe]

- Compatibility changes to support Zope 2.10. [malthe]

five.pt 0.1 (released 11/19/2008)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

- Initial release.

- Simplified template class inheritance. [malthe]

- Added ``path`` and ``exists`` functions to skin template
namespace. [malthe]

- Added call-support for old-style classes in path
expressions. [malthe]

- Added monkey-patches to replace template engine for module-level
view page template instances. [malthe]

- Made `EContext` class more robust. [malthe]

- Register custom file-system page template class for use with CMF
form controllers. [malthe]

- Register custom file-system page template class for use with CMF
directory views. [malthe]

- Added meta-directives to register browser views, viewlets and
viewlet managers using Chameleon templates. [malthe]

- Updated to latest API. [malthe]

- Package structure. [hannosch]

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

five.pt-1.3.tar.gz (12.7 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page