]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/View/TT.pm
Release 2.08. Add Maypole::Config->template_extension, Maypole::Application adds...
[maypole.git] / lib / Maypole / View / TT.pm
index 40fa5651dcc9480db76f856e5f1a0a40e8aeb44b..13130e53ec1154c6ecfe1c44019db12582265096 100644 (file)
@@ -12,14 +12,8 @@ sub template {
 
     unless ($self->{tt}) {
         my $view_options = $r->config->view_options || {};
-        (my $driver_name = ref $r) =~ s/::/_/g;
-        my $compile_dir  = catdir(tmpdir(), $driver_name);
-        $self->{provider} = Template::Provider->new(
-            COMPILE_DIR    => $compile_dir,
-            %$view_options,
-        );
+        $self->{provider} = Template::Provider->new($view_options);
         $self->{tt}       = Template->new({
-            COMPILE_DIR    => $compile_dir,
             %$view_options,
             LOAD_TEMPLATES => [ $self->{provider} ],
         });
@@ -27,8 +21,12 @@ sub template {
 
     $self->{provider}->include_path([ $self->paths($r) ]);
 
+    my $template_file = $r->template;
+    my $ext = $r->config->template_extension;
+    $template_file .= $ext if defined $ext;
+
     my $output;
-    if ($self->{tt}->process( $r->template, { $self->vars($r) }, \$output )) {
+    if ($self->{tt}->process($template_file, { $self->vars($r) }, \$output )) {
         $r->{output} = $output;
         return OK;
     }
@@ -56,14 +54,15 @@ Maypole::View::TT - A Template Toolkit view class for Maypole
 
 =head1 DESCRIPTION
 
-This is the default view class for Maypole; it uses the Template Toolkit
-to fill in templates with the objects produced by Maypole's model classes.
-Please see the Maypole manual, and in particular, the C<View> chapter,
-for the template variables available and for a refresher on how template
-components are resolved.
+This is the default view class for Maypole; it uses the Template Toolkit to
+fill in templates with the objects produced by Maypole's model classes.  Please
+see the L<Maypole manual|Maypole::Manual>, and in particular, the
+L<view|Maypole::Manual::View> chapter for the template variables available and
+for a refresher on how template components are resolved.
 
 The underlying Template toolkit object is configured through
-C<$r-E<gt>config-E<gt>view_options>. See L<Template> for available options.
+C<$r-E<gt>config-E<gt>view_options>. See L<Template|Template> for available
+options.
 
 =over 4