[Koha-patches] [PATCH] Bug 6205 - if an include doesn't exist, fall back to en

Frédéric Demians f.demians at tamil.fr
Sat Sep 24 22:59:21 CEST 2011


From: Robin Sheat <robin at catalyst.net.nz>

If a language that doesn't exist gets accessed, then it will fall back
to en for the templates, but not for the includes, so everything still
dies. This allows the process to work in this case too.

Signed-off-by: Frédéric Demians <f.demians at tamil.fr>

I confirm the bug and the solution. This issue occurs when templates are
partially translated. The main template (.tt) is found for a specific
language, so this language is returned by themetemplate. But in the main
template, some include files (subtemplates) are referenced that can very
well not exist if the translation process had failed to generate them.
This kind of failure is reported by 'translate' script. It's very easy
to miss it, but it's the translator responsability to check it.
---
 C4/Templates.pm |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/C4/Templates.pm b/C4/Templates.pm
index 37e8932..812f3dc 100644
--- a/C4/Templates.pm
+++ b/C4/Templates.pm
@@ -55,12 +55,13 @@ sub new {
 
     my ($theme, $lang)= themelanguage( $htdocs, $tmplbase, $interface, $query);
     my $template = Template->new(
-        {
-            EVAL_PERL    => 1,
+        {   EVAL_PERL    => 1,
             ABSOLUTE     => 1,
-            INCLUDE_PATH => "$htdocs/$theme/$lang/includes",
-            FILTERS      => {},
-
+            INCLUDE_PATH => [
+                "$htdocs/$theme/$lang/includes",
+                "$htdocs/$theme/en/includes"
+            ],
+            FILTERS => {},
         }
     ) or die Template->error();
     my $self = {
-- 
1.7.6.1



More information about the Koha-patches mailing list