in reply to automatic Template component wrapper

When you define a template object, you have a large number of settings you can use.

What I suggest is that you declare the variables that you want to pass to the component. Then declare a POST_PROCESS which will process this template at the end of each page.

my $template = Template->new({
    VARIABLES => {
	component => {
            name => 'script_name',
            time => time(),
        }
    },
    POST_PROCESS => 'component_info.tt'
});

Now you will not have to declare a WRAPPER after each web page. It will be done for you.

  • Comment on Re: automatic Template component wrapper

Replies are listed 'Best First'.
Re^2: automatic Template component wrapper
by marvell (Pilgrim) on Mar 10, 2006 at 19:58 UTC

    It's not the web pages, or whole templates I'm interested in, it's the components, ie. the bits included. For example:

    thing.tt: I am thing.
    thang.tt: I am thang.
    fred.tt: % INCLUDE thing.tt % % INCLUDE thang.tt %

    I ultimately want this from processing fred

    <! -- begin fred.tt --> <! -- begin thing.tt --> I am thing. <! -- end thing.tt --> <! -- begin thang.tt --> I am thang. <! -- end thang.tt --> <! -- end fred.tt -->

    In this way, my designer can see which template components have been used to create a specific page

    component is a special variable which is automatically set for each included component. The reason I said I had to pass it through is that it is set to the wrapper name if I don't pass it through from the component I want the information for.

    --
    Steve Marvell