Thanks Robert :D I'll give it a try. On 6/3/05, Robert Zeigler <[EMAIL PROTECTED]> wrote: > Weeelll... it's possible to do everything you want. Yes, you can have > your cake and eat it, too. ;) But it comes at the cost of complexity one > way or another. > So, right now, I have a project that has two different layouts. For this > project, which layout to use was very well defined, so I simply defined > three border components. Yes, three. ;) One is the one that the pages > use. It, in turn, wraps the other two border components, rendering > whichever one is appropriate for the situation. So, you have something like: > <span jwcid="@base:If" condition="ognl:condition" element="ognl:null"> > <body jwcid="@border1"> > <div jwcid="@RenderBody"/> > </body> > </span> > </span jwcid="@base:Else" element="ognl:null"> > <body jwcid="@border2"> > <div jwcid="@RenderBody"/> > </body> > </span> > > But, what happens if your needs are more complex? (Like the top + side > menu) I've also implemented a system for border which would support any > number of layouts, without knowing a thing about the other layouts ahead > of time. The trick here, or at least the one that I used, was my good > friends block and render block. > > It's been awhile since I looked at this setup, but the general idea was > that each page was wrapped by the border component, but the border used > block/render block to delegate the rendering to the unknown layouts. > So, it's something like: > > <body jwcid="@Body"> > > <div jwcid="@RenderBlock" block="ognl:layoutBlock" > mainContent="ognl:components.bodyContent"/> > > <!-- important piece... :) --> > > <div jwcid="[EMAIL PROTECTED]"> > <div jwcid="@RenderBody"/> > </div> > > Notice how the render body is, itself, in a block. > The individual layouts then do something like: > > <div jwcid="[EMAIL PROTECTED]"> > <!-- various markup for the individual layout --> > <!-- now insert the body --> > <div jwcid="@RenderBlock" > block="ognl:components.layout1.inserter.bindings.mainContent.object"/> > </div> > > It's a bit twisted and demented... but it works. ;) > Happy tapestry'ing. > > Robert > > Vinicius Carvalho wrote: > > Thanks to Ron and Jamie I got things started here with composite > > screens. Well But I found it most ackward to have a component called > > Border with my page layout. What if I have diferent layouts, should I > > create a new component for each one? What about nesting? Imagine a > > page that has a menu on top and content underneath. Ok here's my > > component: > > <tr> > > <td> some menu</<td> > > <td>@RenderBody</td> > > <tr> > > > > Ok, now what happens is let's say one of the itens of the menu has > > another composite page with a menu on the left? How to compose them? > > > > thanks all > > > > Vinicius > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
