--- Dave Howorth <dhoworth at mrc-lmb.cam.ac.uk> wrote:
> Hi Peter
>
> > Still really the same problem though. You need to put that in every
> template
> > you want menu data or put it in a template that it is included in every
> > template. It'd be something like:
> > [% IF objects.size == 1; obj = objects.0;
> > ELSE; USE obj = Class("$classmetadata.name");
> > END;
> > menu = obj.menu_data;
> > %]
> >
> > Truth is though, i have a single wrapper I use all my pages within so I
> only
> > need to put that in there and that's a fine solution for now. But i'd much
> > rather just put it in additional_data once and be done with it. Aslo, maybe
> > someone else's templating system isn't as cool as TT and they don't have
> > wrappers or includes. It may be a problem.
>
> Ah, OK, I see a little more clearly what you're saying. In that case
> just delay calling menu_data. Take your additional_data code and make it
> into a method of the request class:
>
> sub get_menu_data {
> my $r = shift;
> # get object menu if we have only one object:
> if (@{$r->objects} eq 1) {
> $r=>objects->[0]->menu_data;
> }
> # else class menu
> else {
> $r->model_class->menu_data;
> }
> }
>
> Then in your template you write [% menu = request.get_menu_data %]
>
> I hope :)
>
Yeah. I like this better. Then if maypole gets patched as Simon's thinking of
doing, I can just move the call to additional_args, or whatever sub .
thanks Dave.
=====
pjs
__________________________________
Do you Yahoo!?
Read only the mail you want - Yahoo! Mail SpamGuard.
http://promotions.yahoo.com/new_mail
_______________________________________________
maypole mailing list
maypole at lists.netthink.co.uk
http://lists.netthink.co.uk/listinfo/maypole
This archive was generated by hypermail 2.1.3 : Thu Feb 24 2005 - 22:25:57 GMT