From: Sven Schöling Date: Fri, 7 Oct 2011 13:12:28 +0000 (+0200) Subject: raw option für Controller Base X-Git-Tag: release-2.7.0beta1~252 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=dd291d0063745160d7bf221ed21b65c77877cb92;p=kivitendo-erp.git raw option für Controller Base --- 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