Beefy Boxes and Bandwidth Generously Provided by pair Networks RobOMonk
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Partially process'ing Template::Toolkit templates

by unlinker (Monk)
on Nov 15, 2012 at 01:28 UTC ( #1003912=perlquestion: print w/ replies, xml ) Need Help??
unlinker has asked for the wisdom of the Perl Monks concerning the following question:

Venerable Monks,

Is it possible to process a TT template so that only the INCLUDE (or the INSERT) directives are processed? For example if my template (say outer.tt) is :

Hi [% name %], Some Text here.... [% INCLUDE inner.tt %] Some more text here.....
and inner.tt is:
Product ID: [% product_id %]
I would like to generate the template string:
Hi [% name %], Some Text here.... Product ID: [% product_id %] Some more text here.....

so that only the INCLUDE directive is processed and a new template is generated?

Many Thanks...

Comment on Partially process'ing Template::Toolkit templates
Select or Download Code
Re: Partially process'ing Template::Toolkit templates
by roboticus (Canon) on Nov 15, 2012 at 02:28 UTC

    unlinker:

    I can think of a couple ways to get that result: First, you could put the other parts of your template in a different include file, and INSERT them. Since TT isn't going to do any processing on the inserted files, you will then have a template that you want.

    ----file1---- Hi [% name %], some text here... ----file2---- Some more text here... ----template---- [% INSERT file1 %] [% INCLUDE inner.tt %] [% INSERT file2 %]

    Alternatively, you could escape out the template sequences in your main template, then when TT processes it, you'd have the template instructions ready.

    It seems odd that you would need that, though. But I've never used it, so it wouldn't be obvious to me in any case.

    ...roboticus

    When your only tool is a hammer, all problems look like your thumb.

Re: Partially process'ing Template::Toolkit templates
by chromatic (Archbishop) on Nov 15, 2012 at 06:20 UTC

    You can use the TAGS directive to change what TT uses as delimiters; this'll let you write regular templates from templates:

    [% TAGS [- -] %] [% translations.EXPLANATION %]

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: perlquestion [id://1003912]
Approved by muba
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others pondering the Monastery: (15)
As of 2014-04-16 17:18 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    April first is:







    Results (433 votes), past polls