Beefy Boxes and Bandwidth Generously Provided by pair Networks Frank
Perl Monk, Perl Meditation
 
PerlMonks  

Re: Re: Re: TMPL_IF

by Anonymous Monk
on Oct 18, 2001 at 12:11 UTC ( [id://119657]=note: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.


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

It should say use a var_name in a var_loop, where "name" is not in "loop", but is a variable from elseware

Replies are listed 'Best First'.
Re: Re: Re: Re: TMPL_IF
by Sifmole (Chaplain) on Oct 18, 2001 at 12:38 UTC
    Read up in the documentation about setting your variables global.
Re: Re: Re: Re: TMPL_IF
by DrManhattan (Chaplain) on Oct 18, 2001 at 13:03 UTC
    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

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://119657]
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.