[Helma-user] Small patch for loop macro
Maksim Lin for technical support mailling lists
maksim_lin at ngv.vic.gov.au
Fri May 11 01:11:21 CEST 2007
Ah that makes much more sense - thanks for explaining that Hannes, yes I
did misunderstand how RenderSkinAsString worked - I should probaly have
read the source before making an assumption about how it worked.
I guess that means in macros, its more efficient to write their result
string in with res.write or writeln instead of returning the string from
the macro function?
Maks.
> -----Original Message-----
> From: helma-user-bounces at helma.org
> [mailto:helma-user-bounces at helma.org] On Behalf Of Hannes Wallnoefer
> Sent: Thursday, 10 May 2007 21:39
> To: Helma User Mailing List
> Subject: Re: [Helma-user] Small patch for loop macro
>
> Hi Maks,
>
> 2007/5/10, Maksim Lin <maksim.lin at gmail.com>:
> > Hi Hannes,
> >
> > Thanks for looking at the patch so quickly. Your change
> looks ok but
> > the reason I did it with a buffer was because of the bug I
> entered a
> > little earlier about all the macros in HopObject.js
> > (http://helma.org/bugs/show_bug.cgi?id=519)
>
> I see.
>
> Actually, using res.write() is fully compatible with
> renderSkinAsString(). When you do a renderSkinAsString(), Helma calls
> res.push() before rendering the skin and then returns the
> return value of res.pop(). Every res.write() or res.writeln()
> called during skin rendering actually appends to the
> StringBuffer that composes the string.
>
> So bug 519 is actually based on a misunderstanding, I'm
> marking it as invalid.
>
> hannes
>
> > What worries me is that its not possible to use any of these macros
> > with RenderSkinAsString() to for instance create the body
> of an email
> > message.
> > I understand now that the reason for using res.write is for
> efficiency
> > but it does mean that the macros aren't as widely usable...
> >
> > Maks.
> >
> > On 5/10/07, Hannes Wallnoefer <hannes at helma.at> wrote:
> > > Hi Maks,
> > >
> > > thanks for the patch. The itemPrefix/Suffix parameters
> make sense,
> > > but by composing a new string for each item instead of just using
> > > res.write() you add a lot of overhead. I slightly modified your
> > > patch, see attachment. Can you (or somebody else) please
> give it a try?
> > >
> > > hannes
> > >
> > > 2007/5/10, Maksim Lin for technical support mailling lists
> > > <maksim_lin at ngv.vic.gov.au>:
> > > > Hi,
> > > >
> > > > Ever since I discovered the loop macro (via the new reference
> > > > docs) I've found it *very* handy but one thing I missed was the
> > > > ability to set a prefix/suffix on each individual items skin
> > > > render. So I've attached a small patch to add this
> functionality to HopObject loop macro.
> > > >
> > > > I find it very handy since sometimes I'm rendering items of a
> > > > collection as HTML list items, sometimes as options in a select
> > > > element, sometimes as just a comma seperated list and
> this way I
> > > > can do it all with one very simple skin.
> > > >
> > > > Maks.
> > > >
> > > > _______________________________________________
> > > > Helma-user mailing list
> > > > Helma-user at helma.org
> > > > http://helma.org/mailman/listinfo/helma-user
> > > >
> > > >
> > > >
> > >
> > > _______________________________________________
> > > Helma-user mailing list
> > > Helma-user at helma.org
> > > http://helma.org/mailman/listinfo/helma-user
> > >
> > >
> > >
> > _______________________________________________
> > Helma-user mailing list
> > Helma-user at helma.org
> > http://helma.org/mailman/listinfo/helma-user
> >
> _______________________________________________
> Helma-user mailing list
> Helma-user at helma.org
> http://helma.org/mailman/listinfo/helma-user
>
>
>
More information about the Helma-user
mailing list