From dd291d0063745160d7bf221ed21b65c77877cb92 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Sven=20Sch=C3=B6ling?= Date: Fri, 7 Oct 2011 15:12:28 +0200 Subject: [PATCH] =?utf8?q?raw=20option=20f=C3=BCr=20Controller=20Base?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/Controller/Base.pm | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/SL/Controller/Base.pm b/SL/Controller/Base.pm index f8eee88a6..42bf6bd6e 100644 --- a/SL/Controller/Base.pm +++ b/SL/Controller/Base.pm @@ -45,6 +45,9 @@ sub render { if ($options->{inline}) { $source = \$template; + } elsif($options->{raw}) { + $source = $template; + } else { $source = "templates/webpages/${template}." . $options->{type}; croak "Template file ${source} not found" unless -f $source; @@ -77,8 +80,12 @@ sub render { ); my $output; - my $parser = $self->_template_obj; - $parser->process($source, \%params, \$output) || croak $parser->error; + if (!$options->{raw}) { + my $parser = $self->_template_obj; + $parser->process($source, \%params, \$output) || croak $parser->error; + } else { + $output = $$source; + } print $output unless $options->{inline} || $options->{no_output}; @@ -322,6 +329,10 @@ containing the template code to interprete. Additionally the output will not be sent to the browser. Instead it is only returned to the caller. +If C<< $options->{raw}>> is trueish, the function will treat the input as +already parsed, and will not filter the input through Template. Unlike +C, the input is taked as a reference. + If C<< $options->{inline} >> is falsish then C<$template> is interpreted as the name of a template file. It is prefixed with "templates/webpages/" and postfixed with a file extension based on -- 2.20.1