]> git.decadent.org.uk Git - maypole.git/blobdiff - lib/Maypole/View/TT.pm
+ some TT2 options need to be set on the Template::Provider
[maypole.git] / lib / Maypole / View / TT.pm
index 042a1b5824da5e0cd16921c6da0920fa9386d78b..40fa5651dcc9480db76f856e5f1a0a40e8aeb44b 100644 (file)
@@ -10,13 +10,20 @@ our $VERSION = "1." . sprintf "%04d", q$Rev$ =~ /: (\d+)/;
 sub template {
     my ( $self, $r ) = @_;
 
-    my $view_options = $r->config->view_options || {};
-    $self->{provider} ||= Template::Provider->new();
-    $self->{tt}       ||= Template->new({
-        COMPILE_DIR    => catdir(tmpdir(), $r->config->application_name),
-        %$view_options,
-        LOAD_TEMPLATES => [ $self->{provider} ],
-    });
+    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->{tt}       = Template->new({
+            COMPILE_DIR    => $compile_dir,
+            %$view_options,
+            LOAD_TEMPLATES => [ $self->{provider} ],
+        });
+    }
 
     $self->{provider}->include_path([ $self->paths($r) ]);