|Think about Loose Coupling|
Re: autotie CGI::SSI to CGI::Application outputby ryan (Pilgrim)
|on Feb 13, 2003 at 05:14 UTC||Need Help??|
OK, I'll have a go at my own question then :)
The reason for this is the HTML templates were rather 'pretty' and had a heap of nested tables in them that was just too much code to duplicate. So I wanted a way to call a function from within the template that can accept a parameter and produce the code for the table with the parameter as the title of the table.
In the end I found that HTML::Template::Expr can do this so I modified CGI::Application to use HTML::Template::Expr instead of HTML::Template and it all went well. It was just a simple substitution of the module name in two spots.
I know this is not a good use of templating technology, both I and the HTML::Template author agree there - but this particular case called for it.
The actual code in the CGI::Application module was a declaration of the template functions and their related subs:
Then in the templates:
Ugly, but it works and reduces the template code size to about half :)