I am doing this quite successfully with the following code:
In the HTML template
<TMPL_INCLUDE NAME="%mainbody%">
In the perl script
my $filter = \&tmpl_filter;
my $template = HTML::Template->new(filename => 'insider_tmpl.html',
path=> $self->param('tmpl_path'), filter=>$filter);
sub tmpl_filter()
{
my $text_ref = shift;
$$text_ref =~ s/%mainbody%/$body_include/g;
};
Regards,
Rajesh
-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Peter Leonard
Sent: Wednesday, September 28, 2005 7:48 PM
To: [EMAIL PROTECTED]
Cc: [email protected]
Subject: Re: [htmltmpl] is it possible to use var in include
Michael,
In my experience, the only way to make that work is by making two passes
through HTML::Template, creating a custom filter on the first pass.
So your template syntax would look like this:
[TMPL_INCLUDE NAME=<TMPL_VAR NAME=mod>]
The first pass would set the 'mod' param, but ignore the outer tags.
The
second pass would use a filter to convert all the [TMPL] tags to
standard
<TMPL> tags, and then behave as normal.
Something like the following perl-pseudo:
$tmpl->param(mod=>'include.tmpl');
my $pass = $tmpl->output();
my $tmpl2 = HTML::Template->new(scalarref => $pass,
filter =>
sub { $_ =~ s/\[(TMPL[^\]]+)\]/<$1>/gis; });
$tmpl2->param(%other_vars);
return $tmpl2->output();
HTH,
--pete
On Wed, 28 Sep 2005 [EMAIL PROTECTED] wrote:
> Hello all,
>
> Is that not possible? <TMPL_INCLUDE NAME=<TMPL_VAR NAME=mod>>
> Cause depending in which mode I open the template I want to show up a
> differnt body (e.g. start page, register page, search page...)
>
> Regards
> Michael
----
Peter Leonard
[EMAIL PROTECTED]
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads,
discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Html-template-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/html-template-users
DISCLAIMER:
This email (including any attachments) is intended for the sole use of the
intended recipient/s and may contain material that is CONFIDENTIAL AND PRIVATE
COMPANY INFORMATION. Any review or reliance by others or copying or
distribution or forwarding of any or all of the contents in this message is
STRICTLY PROHIBITED. If you are not the intended recipient, please contact the
sender by email and delete all copies; your cooperation in this regard is
appreciated.
-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
Html-template-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/html-template-users