RE: is it possible to use var in include

"Rajesh_K" <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.html-template
Message-ID <C68B89151E8C084F9474B0C00F9BDE66019387F6@ccrmsg001.corp.satyam.ad>
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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.