<div dir="ltr">For example, default empty layout_name in pagelet directive handler (and not use try ... except).<br><br><div class="gmail_quote">2008/10/9 Ilshad <span dir="ltr">&lt;<a href="http://astoon.net">astoon.net</a>@<a href="http://gmail.com">gmail.com</a>&gt;</span><br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div dir="ltr">Hello,<br><br>I need use several layout templates in same layer for z3c.pagelet-based browser views.<br>
For this, in current project I did follow:<br><br>renderer.py:<br><br>from zope.component import getMultiAdapter<br>
from z3c.template.interfaces import ILayoutTemplate<br><br>
def layoutRenderer(self):<br>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &quot;&quot;&quot;Allow to use named layout templates.&quot;&quot;&quot;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; try:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = self.layout_name<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; except:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; name = u&#39;&#39;<br>

<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; self.update()<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; if self.layout is None:<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; layout = getMultiAdapter((self, self.request), ILayoutTemplate, name)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return layout(self)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return self.layout()<br>

<br>So, a pagelet&#39;s code look like:<br clear="all"><br>from .... renderer import layoutRenderer<br><br>class Pagelet(object):<br>&nbsp;&nbsp;&nbsp; __call__ = layoutRenderer<br><br>&nbsp;&nbsp;&nbsp; ....<br><br>and usual pass the name into zcml-directive:<br>

<br>&lt;z3c:pagelet<br>&nbsp;&nbsp;&nbsp; ...<br>&nbsp;&nbsp;&nbsp; layout-name=&quot;narrow&quot;<br>&nbsp;&nbsp;&nbsp; /&gt;<br><br>And layout-directive from z3c.template allow define name.<br><br>Summary, it quite convenient. But my proposal - let&#39;s add this feature into z3c.pagelet package.<br>

<br>-- <br>Ilshad Habibullin<br>Gadoz, Inc (<a href="http://www.gadoz.com" target="_blank">http://www.gadoz.com</a>)<br>
</div>
</blockquote></div><br><br clear="all"><br>-- <br>Ilshad Habibullin<br>Gadoz, Inc (<a href="http://www.gadoz.com">http://www.gadoz.com</a>)<br>
</div>