The other good thing about this approach is that you can get all the goodness of sitemesh with just a bit more code. eg.
1. setup a config or just a dict to map pages (using regexp) to layouts, just like sitemesh does with decorator.xml. 2. Change the default mapping using more parameters in (c) huy > Interesting.. Let me see if I have this right. > > In your controller you are either setting c.layout_template if you > want to use a layout or None if you don't.. Then you pass the layout > variable into an application template and conditionally render it > around the template. > > If I'm correct.. I feel like an unfortunate downside of this approach > is having to include that conditional layout code in every template. I > think we should be able to create layouts automatically like rails > does. Either we have an entire site layout or layouts by controllers. > Or, we should be able to create a routes like feature that > automatically decorates your template depending on the url.. > > Chad > > On Feb 21, 5:54 am, Contact 42 <[EMAIL PROTECTED]> wrote: > >> Chad wrote: >> >>> Just curious of how other pylons developers are doing site layout in >>> their apps? Are you guys mostly using the template and includes? >>> >>> I'm currently using genshi and xi:include. This method works.. but it >>> really seems like a lot of wasted code. In the past I've used several >>> methods for site layout. Once we wrote a "filter" that automatically >>> added a layout based on a url config file. We based this method off of >>> sitemesh (http://www.opensymphony.com/sitemesh/). Rails allows you to >>> automatically associate a layout with templates in a controller or all >>> templates. >>> >>> Just curious about what other people are doing and what you think of >>> rails/sitemesh.. >>> >> I think sitemesh is awesome. It keeps out of your way yet is so flexible. >> >> Don't know about genshi, but in mako I do the following: >> >> I render the following template for every request which contains the >> following code. It is passed two variables (the layout template, the >> actual page template). This allows me to change layouts on each request >> (if necessary just like sitemesh). >> >> == apptemplate.mak >> <% >> >> if c.layout_template: >> layout_template = self.get_namespace(c.layout_template) >> else: >> layout_template = None >> >> namespace = self.get_namespace(temp) >> body = capture(namespace.body) >> if hasattr(namespace, 'head'): >> head = capture(namespace.head) >> else: >> head = None >> %> >> >> %if layout_template: >> ${layout_template.layout(body, head=head)} >> %else: >> ${body} >> %endif >> > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "pylons-discuss" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/pylons-discuss?hl=en -~----------~----~----~----~------~----~------~--~---
