[Zope3-Users] Named layouts for z3c.pagelet

Ilshad astoon.net at gmail.com
Wed Oct 8 22:50:05 EDT 2008


For example, default empty layout_name in pagelet directive handler (and not
use try ... except).

2008/10/9 Ilshad <astoon.net at gmail.com>

> Hello,
>
> I need use several layout templates in same layer for z3c.pagelet-based
> browser views.
> For this, in current project I did follow:
>
> renderer.py:
>
> from zope.component import getMultiAdapter
> from z3c.template.interfaces import ILayoutTemplate
>
> def layoutRenderer(self):
>         """Allow to use named layout templates."""
>         try:
>                name = self.layout_name
>         except:
>                name = u''
>
>          self.update()
>          if self.layout is None:
>                 layout = getMultiAdapter((self, self.request),
> ILayoutTemplate, name)
>                 return layout(self)
>          return self.layout()
>
> So, a pagelet's code look like:
>
> from .... renderer import layoutRenderer
>
> class Pagelet(object):
>     __call__ = layoutRenderer
>
>     ....
>
> and usual pass the name into zcml-directive:
>
> <z3c:pagelet
>     ...
>     layout-name="narrow"
>     />
>
> And layout-directive from z3c.template allow define name.
>
> Summary, it quite convenient. But my proposal - let's add this feature into
> z3c.pagelet package.
>
> --
> Ilshad Habibullin
> Gadoz, Inc (http://www.gadoz.com)
>



-- 
Ilshad Habibullin
Gadoz, Inc (http://www.gadoz.com)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.zope.org/pipermail/zope3-users/attachments/20081009/25b8e1b4/attachment.html 


More information about the Zope3-users mailing list