Thanks Jeff,

Praise be to Pull Tools =)

.
.
.

I thought I was being clever to add another directory
parallel to templates/app (templates/display).  I
wanted turbine to find the screen in display/screens
(after adding this to path in TRprops) and use
display/layouts/Default.vm so I wouldn't have to have
a crapload of layouts, but it didn't behave that way.

So, I'm putting
$data.setLayoutTemplate("/DisplayDefault.vm") in my
screens in that dir (unless I need a specific layout).

Any comments?


--- "Brekke, Jeff" <[EMAIL PROTECTED]> wrote:
> Don't use screen objects, use pull tool(s). Read the
> pull-tool docs on the
> Turbine site.  The only reason left for needing a
> screen object is security.
> Name your screen template the same as the layout you
> want to use: 
> 
>        /layouts
>            Printable.vm
>            Default.vm
>        /screens 
>            Printable.vm
>            Index.vm
>            Other.vm  
> 
> When Index.vm and Other.vm are rendered, turbine
> will use Default.vm.  When
> the Printable.vm screen is rendered, it will use the
> Printable.vm layout.
> 
> -----Original Message-----
> From: Terry McBride
> To: Turbine Users List
> Sent: 11/16/01 4:00 PM
> Subject: Pull Tool Re: Cannot get correct Layout
> with my Reflect(ing) Screen
> 
> 
> Dookie!
> 
> After reading the NumberFormatter Pull Tool thread,
> maybe I should be making this a pull tool.
> 
> BUT, I'm still tired of having a bazillion Screen
> classes that are the same thing over and over.  How
> can I have one Screen serve different screen
> templates
> AND LAYOUT TEMPLATES and have it work correctly (not
> use Layout DefaultLayout - during my investigation I
> had set default.layout to DefaultLayout it TR.props;
> this is the layout I'm seeing).
> 
> --- Terry McBride <[EMAIL PROTECTED]> wrote:
> > Hi, 
> > 
> > I'm trying to write a VelocityScreen that allows
> me
> > to
> > set the velocity templates to use as layout and
> > screen
> > from parameters.  I get the appropriate object
> > passed
> > to the appropriate screen, but the layout is
> screwed
> > up.  No matter what I do I keep getting a/the
> > DefaultLayout with top and bottomg containing the
> > text: 
> >      "Turbine - A Servlet Framework for building
> > Secure Dynamic Websites."
> > 
> > In my screen $data.getLayout() returns
> > VelocityECSLayout and $data.getLayoutTemplate()
> > returns the outline parameter ("/Display.vm") but
> > the
> > appropriate layout is not used.
> > 
> > Can anyone shed some light?
> > 
> > I've had data.setScreenTemplate() in place of
> > setTemplate() as well.
> > 
> > 
> > extends VelocityScreen CODE:
> > 
> >     /**
> >      * Place the componenet in the context
> >      * for use in the template. 
> >      * Uses OMUtils to locate the componenent.
> >      * expect component=Class of the component and
> > the
> > component id to be placed in params
> >      */
> >     public void doBuildTemplate( RunData data,
> > Context
> > context )
> >     {
> > 
> >     // get the component (ie. Quote, Organization,
> > Image)
> >     String className =
> > data.getParameters().get("component");
> > 
> >     if (className != null && className != "")
> >     {
> > 
> >             BaseObject object = null;
> > 
> >             try 
> >             {
> > 
> >                     // Find the appropriate method in OMUtils and
> > invoke it
> >                     String methodName = "find" + className;
> > 
> >                     Class[] paramTypes = {
> > Class.forName("org.apache.turbine.util.RunData")
> };
> >                     Object[] paramList = { data };
> > 
> >                     Class OMClass =
> >
>
Class.forName("edu.stanford.mlkpp.launchpads.utils.OMUtils");
> >                     Method finder = OMClass.getMethod(methodName,
> > paramTypes);
> >                     object = (BaseObject) finder.invoke(null,
> > paramList);
> >             }
> >             catch (Exception e)
> >             {
> >                     data.setMessage("Error finding component with
> > className " + className);
> >                     e.printStackTrace();
> >                     setTemplate(data, "Error.vm");
> >             }
> > 
> >             if (object != null)
> >                     context.put(className.toLowerCase(),
> > object);
> > 
> >     }
> >     else
> >     {
> >                     data.setMessage("No component parameter
> found");
> >                     setTemplate(data, "Error.vm");
> >     }
> > 
> >     // set template and layout      
> >     String view = data.getParameters().get("view");
> >     String outline =
> > data.getParameters().get("outline");
> > 
> > System.out.println(" found view " + view + " and
> > outline " + outline);
> > 
> >     try {
> >             if (view != null) {
> >                     setTemplate(data, view);
> >             }
> > 
> >             if (outline != null) {
> >                     setLayout(data, "VelocityECSLayout");
> >                     data.setLayoutTemplate(outline);
> >             }
> >     } catch (Exception e) {
> >             e.printStackTrace();
> >     }
> >     }
> > 
> > 
> > 
> > =====
> > "I'm concerned about a better world. I'm concerned
> > about justice; I'm concerned about brotherhood;
> I'm
> > concerned about truth. And when one is concerned
> > about that, he can never advocate violence. For
> > through violence you may murder a murderer, but
> you
> > can't murder murder. Through violence you may
> murder
> > a liar, but you can't establish truth. Through
> > violence you may murder a hater, but you can't
> > murder hate through violence. Darkness cannot put
> > out darkness; only light can do that."
> > 
> > -M. L. King, Jr., 16 August 1967
> > 
> > __________________________________________________
> > Do You Yahoo!?
> > Find the one for you at Yahoo! Personals
> > http://personals.yahoo.com
> > 
> > --
> > To unsubscribe, e-mail:  
> >
> <mailto:[EMAIL PROTECTED]>
> > For additional commands, e-mail:
> > <mailto:[EMAIL PROTECTED]>
> > 
> 
> 
> =====
> "I'm concerned about a better world. I'm concerned
> about justice; I'm
> concerned about brotherhood; I'm concerned about
> truth. And when one is
> concerned about that, he can never advocate
> violence. For through
> violence you may murder a murderer, but you can't
> murder murder. Through
> 
=== message truncated ===


__________________________________________________
Do You Yahoo!?
Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1

--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to