RE: is it possible to use var in include

Peter Leonard <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.html-template
Message-ID <[email protected]>
Michael,

I would too.  :)

 	--peter


On Thu, 29 Sep 2005 [email protected] wrote:

> Hello Rajesh, Hello Peter,
>
> thanks for your help.
>
> Will use Rajesh one's, cause it looks easier for me.
>
> Regards
> Michael
>
> "Rajesh_K" <[email protected]> schrieb am 29.09.2005 13:14:16:
>
>> 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.
>>
>

----
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
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.