that's a little better, but the blockdata is not getting resolved.
it's outputting:
----------------------------------------------
Hello, [% name %]
----------------------------------------------
Josh Rosenbaum <[EMAIL PROTECTED]> wrote:
Ok, I think it's because you are using [% INCLUDE ablock %] rather than just [% ablock %].
From:
http://www.template-toolkit.org/docs/plain/Manual/Directives.html
A Macro doesn't appear to use the INCLUDE.
-- Josh
John Smith wrote:
> Thanks for the suggestions, but both of them error out with: file error
> - ablock: not found
>
> */Josh Rosenbaum <[EMAIL PROTECTED]>/* wrote:
>
> John Smith wrote:
> > I want to be able to include a template component in a template
> where
> > that component is not a file. I'm sure its somewhere in the man
> pages,
> > but I can't find it. This is what I tried:
> >
> > perl code:
> > use strict;
> > use Template;
> > my $block = <
> > ----------------------------------------------
> > Hello, [% name %]
> > ----------------------------------------------
> > BLOCK
> > my $tt = Template->new() or die;
> > my $ttData =
> > {
> > blockdata => $block,
> > name => 'John'
> > };
> > $tt->process("testblock.tt", $ttData) or die;
> >
> > testblock.tt:
> > [% MACRO ablock BLOCK %]
> > [% blockdata %]
> > [% END %]
> > [% INCLUDE ablock %]
> >
> > Doesn't work. Any ideas?
> > John Smith
> >
>
>
> Hi John,
>
> I probably shouldn't post on this as I haven't tried what you
> mentioned. However, have you tried adding an "| eval" to the
> blockdata variable retrieve? My guess is that you are just getting
> the non-processed block you specified in the perl code above. (Let
> us know what you mean by "doesn't work" if it's not it.) :)
>
> testblock.tt:
> [% MACRO ablock BLOCK %]
> [% blockdata | eval %]
> [% END %]
> [% INCLUDE ablock %]
>
>
> As an alternative you might try the following, which I have also not
> tested, and am not sure will even work, but am just providing as
> something you can try. I've never tried two procesess, in a row, and
> am not sure whether they will have the same context or not, but if
> it worked, it'd be a simpler solution.
>
> =================================================
> perl code:
> use strict;
> use Template;
> my $block = <
> [% BLOCK ablock %]
> ----------------------------------------------
> Hello, [% name %]
> ----------------------------------------------
> [% END %]
> BLOCK
> my $tt = Template->new() or die;
> my $ttData =
> {
> blockdata => $block,
> name => 'John'
> };
> my $result;
> $tt->process(\$block, $ttData, \$result) or die;
> $tt->process("testblock.tt", $ttData) or die;
>
> testblock.tt:
> [% INCLUDE ablock %]
> =================================================
>
>
> -- Josh
_______________________________________________
templates mailing list
[email protected]
http://lists.template-toolkit.org/mailman/listinfo/templates
Start your day with Yahoo! - make it your home page
