Hi Michael On Tue, 2010-10-12 at 16:33 -0400, Michael De Soto wrote: > On Tue, Oct 12, 2010 at 3:32 PM, Michael Peters <[email protected]>wrote:
The other way would be to use a different templating module, with a different syntax than HTML::Template, which - hopefully - MT would ignore. I've switched to Text::Xslate, which uses <: $var_name :>. I don't use MT. What's good about Text::Xslate is that you pass in a hashref of options, which is much more efficient than calling param() once for each option. See also http://xslate.org/benchmark.html In cgiapp_prerun() I do: $self -> param ( templater => Text::Xslate -> new ( input_layer => '', path => ${$self -> param('config')}{template_path}, ) ); which gets passed into a viewer as the value of a templater() attribute, after which I can do: my($param) = { context => $context, current_page_name => $$page{name}, design_name => $$design{name}, homepage => $$page{homepage} eq 'Yes' ? 'checked' : '', name => $$page{name}, sid => $self -> session -> id, site_name => $$site{name}, submit_text => 'Save', template_name => mark_raw($self -> build_select('asset_types', $asset{asset_type_id}) ), }; return $self -> templater -> render('page.tx', $param); That single call to render() is very nice. mark_raw() is part of Text::Xslate. -- Ron Savage http://savage.net.au/ Ph: 0421 920 622 ##### CGI::Application community mailing list ################ ## ## ## To unsubscribe, or change your message delivery options, ## ## visit: http://www.erlbaum.net/mailman/listinfo/cgiapp ## ## ## ## Web archive: http://www.erlbaum.net/pipermail/cgiapp/ ## ## Wiki: http://cgiapp.erlbaum.net/ ## ## ## ################################################################
