From: Jess Robinson Date: Thu, 22 Dec 2005 07:54:27 +0000 (+0000) Subject: woops, backfix, re-added template_vars changes X-Git-Tag: v0.30~36 X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=850ee226cc5b8debfe9132828c22e8b6d055fbc1;p=catagits%2FCatalyst-View-TT.git woops, backfix, re-added template_vars changes --- diff --git a/lib/Catalyst/View/TT.pm b/lib/Catalyst/View/TT.pm index 3c1a725..74d538d 100644 --- a/lib/Catalyst/View/TT.pm +++ b/lib/Catalyst/View/TT.pm @@ -286,7 +286,6 @@ sub new { use Data::Dumper; $c->log->debug( "TT Config: ", Dumper($config) ); } - if ( $config->{PROVIDERS} ) { my @providers = (); if ( ref($config->{PROVIDERS}) eq 'ARRAY') { @@ -339,8 +338,8 @@ sub process { my ( $self, $c ) = @_; my $template = $c->stash->{template} - || ( $c->request->match || $c->request->action ) - . $self->config->{TEMPLATE_EXTENSION}; + || ( $c->request->match || $c->request->action ) + . $self->config->{TEMPLATE_EXTENSION}; unless ($template) { $c->log->debug('No template specified for rendering') if $c->debug; @@ -350,19 +349,11 @@ sub process { $c->log->debug(qq/Rendering template "$template"/) if $c->debug; my $output; - my $cvar = $self->config->{CATALYST_VAR}; - my $vars = { - defined $cvar - ? ( $cvar => $c ) - : ( c => $c, - base => $c->req->base, - name => $c->config->{name} - ), - %{ $c->stash() } - }; + my $vars = { $self->template_vars($c) }; + unshift @{ $self->include_path }, - @{ $c->stash->{additional_template_paths} } - if ref $c->stash->{additional_template_paths}; + @{ $c->stash->{additional_template_paths} } + if ref $c->stash->{additional_template_paths}; unless ( $self->template->process( $template, $vars, \$output ) ) { my $error = $self->template->error; $error = qq/Couldn't render template "$error"/; @@ -371,8 +362,8 @@ sub process { return 0; } splice @{ $self->include_path }, 0, - scalar @{ $c->stash->{additional_template_paths} } - if ref $c->stash->{additional_template_paths}; + scalar @{ $c->stash->{additional_template_paths} } + if ref $c->stash->{additional_template_paths}; unless ( $c->response->content_type ) { $c->response->content_type('text/html; charset=utf-8'); @@ -383,6 +374,28 @@ sub process { return 1; } +=item template_vars + +Returns a list of keys/values to be used as the variables in the +template. + +=cut + +sub template_vars { + my ( $self, $c ) = @_; + + my $cvar = $self->config->{CATALYST_VAR}; + + defined $cvar + ? ( $cvar => $c ) + : ( + c => $c, + base => $c->req->base, + name => $c->config->{name} + ), + %{ $c->stash() } + +} =item config This method allows your view subclass to pass additional settings to