Beefy Boxes and Bandwidth Generously Provided by pair Networks
go ahead... be a heretic
 
PerlMonks  

Re: Re: Re: Re: TMPL_IF

by DrManhattan (Chaplain)
on Oct 18, 2001 at 17:03 UTC ( #119668=note: print w/ replies, xml ) Need Help??


in reply to Re: Re: Re: TMPL_IF
in thread Learning syntax for HTML::Template TMPL_IF

If I understand your question correctly, you're defining an HTML::Template parameter outside a loop and then trying to use it within a TMPL_LOOP. I.e., the code looks something like this:

my $template = new HTML::Template ( filename => "file.tmpl" ); $template->param( outside_of_loop => "foo", the_loop => [ { inside_of_loop => "bar" }, { inside_of_loop => "baz" } ] );
And your template looks like this:
Outside: <TMPL_VAR NAME=outside_of_loop> <TMPL_LOOP NAME=the_loop> Inside: <TMPL_VAR NAME=outside_of_loop> <TMPL_VAR NAME=inside_of_l +oop> </TMPL_LOOP>
You're expecting this output:
Outside: foo Inside: foo bar Inside: foo baz
But you're getting this instead:
Outside: foo Inside: bar Inside: baz
The problem is that TMPL_VARs defined outside of a loop don't show up within the loop. The solution is to set global_vars => 1 when you create the HTML::Template object. E.g.:
my $template = new HTML::Template ( filename => "file.tmpl", global_vars => 1 );

-Matt


Comment on Re: Re: Re: Re: TMPL_IF
Select or Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://119668]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others examining the Monastery: (13)
As of 2014-10-02 16:55 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    What is your favourite meta-syntactic variable name?














    Results (65 votes), past polls