I've done a similar thing, albeit in a very different circumstance (having
"templates" within templates, that get sent with an ajax-form and populated by
a response from CGI::Ajax, sent back to the dom, and stuck in wherever they are
supposed to go). In this case, I need to keep the <TMPL_VAR WHATEVER>
information in that format, so when the template-chunk gets sent back to perl,
it can be seen as such, filled in as necessary, and returned as a populated
template. To accomplish this, I rewrite any and all tmpl_vars within a certain
div id, something like $div_html = s/<(\/?)TMPL_(.*?)\s*(.*?)> /__$1TMPL_$2
$3__/ig (turning < and > into __ ) and then rewrite this upon receiving the
template-chunk, before parsing it.
It works well enough, although it is a bit nasty introducing randomly-chosen
syntax...
On 7/28/08 5:29 PM, "city crew" <[EMAIL PROTECTED]> wrote:
> Date: Mon, 28 Jul 2008 17:13:58 -0400
> Subject: Re: [htmltmpl] Leaving tmp_var intact inside template
>
> city crew wrote:
>
> > 2. store template output into a scalar and to a regexp subst on the
> > scalar before printint that to the file.
> >
> > my $templateRef = $template->output;
> > $templateRef =~ s/<TMPL_/<TMPL_/g;
> > print TEMP $templateRef;
> >
> > As I am writing this I think I'm going to go with solution 2 as it
> > outputs the file and doesn't require any filter on loading the second
> > template.
>
> We do something similar to your #2. We use a slightly more obvious
> syntax though. We use <TMPL_VAR> for things that are being loaded on the
> first pass and <DYN_VAR> for things on the 2nd pass.
I like that, I was experimenting with !TMPL_VAR but yours seems more
semantically appealing. (I'm practicing my impressive technical speak there...)
>
> Just FYI, I've heard this technique named a couple of different things,
> in case you want to impress anyone :) It's usually called "2 pass
> templating" or "Write-thru cache templating".
Nice! I'll try impress my wife with "Write-thru cache templating", maybe I'll
get lucky. =o)
Grant
>
> --
> Michael Peters
> Plus Three, LP
>
________________________________
Click here. Want to help Windows Live Messenger plant more Aussie trees?
<http://livelife.ninemsn.com.au/article.aspx?id=443698>
-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Html-template-users mailing list
Html-template-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/html-template-users