I'm using ttree to build my site.  Can anyone confirm that the $template
variable would be setup before the pre-processing happens for each template?

I'm still curious why my original usage of variables and wrappers doesn't
work...

Dustin 

-----Original Message-----
From: Cees Hek [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, June 7, 2006 3:26 PM
To: Dustin Frazier
Cc: [email protected]
Subject: Re: [Templates] nested wrappers and variables

If this needs to occur in every single template, then it may be easier to
just use the PRE_PROCESS directive when creating your Template Toolkit
object:

my $template = Template->new( PRE_PROCESS => 'base.tmpl' );

Anything you declare in the PRE_PROCESS will be visible in all of your
templates.

Cheers,

Cees

On 6/7/06, Dustin Frazier <[EMAIL PROTECTED]> wrote:
> I managed to get this to work by using INCLUDE and BLOCK rather than
> WRAPPER:
>
> base:
> [% IF template.name.match('/') -%]
>   [%- DEFAULT section = template.name.replace('/.*','') -%] [% END -%] 
> <html> <body> [% INCLUDE contents %] ...
>
> page:
> [% INCLUDE base %]
> [% BLOCK contents %]
> <h1>Section: [% section %]</h1>
> [% INCLUDE content %]
> [% END -%]
> ...
>
> foo.tt2:
> [% INCLUDE page -%]
> [% BLOCK content -%]
> My content here...
> [% END -%]
>
> It works, but it seems pretty convoluted to me, and I have to use 
> different block names for the different levels of inclusion.
>
> Is my brain completely inside out on this one, or is there some clear 
> explanation for why variables set in a wrapper aren't available to the 
> template that uses the wrapper?
>
> Thanks!
>
> Dustin
>
> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] On Behalf Of Dustin 
> Frazier
> Sent: Wednesday, June 7, 2006 1:28 PM
> To: [email protected]
> Subject: [Templates] nested wrappers and variables
>
> I have a common page template for all pages that starts like this:
>
> base:
> [% IF template.name.match('/') -%]
>   [%- DEFAULT section = template.name.replace('/.*','') -%] [% END -%] ...
>
> I then have a second, more specific template that is based on this one:
>
> page:
> [% WRAPPER base %]
> ...
>
> If I try to reference the variable 'section' within a page that uses 
> the 'page' wrapper, it's not defined.  Is there something special I 
> need to do from one wrapper template or the other to make this work?  
> I don't want to duplicate all of the stuff at the top of my base 
> template within the page template (code sharing being the whole point 
> of having one based on the other).
>
> Thanks!
>
> Dustin
>
>
>
> _______________________________________________
> templates mailing list
> [email protected]
> http://lists.template-toolkit.org/mailman/listinfo/templates
>
>
>
> _______________________________________________
> templates mailing list
> [email protected]
> http://lists.template-toolkit.org/mailman/listinfo/templates
>


_______________________________________________
templates mailing list
[email protected]
http://lists.template-toolkit.org/mailman/listinfo/templates

Reply via email to