[Koha-patches] [PATCH 2/2] Internationalize Amazon support

Frédéric Demians f.demians at tamil.fr
Mon Mar 30 08:42:23 CEST 2009


Without this patch:

  * On OPAC detail page, Amazon book cover has a banner
    'Search Inside' which in untranslatable.
  * Link on book cover search inside book content in
    Amazon.com--.com not .fr or .co.uk depending on
    AmazonLocale syspref.

With this patch:

  * Modfiy book cover image in order not get anymore
    'search inside' text.
  * Link the image to local Amazon web site.
---
 C4/External/Amazon.pm                              |   30 ++++++++++++-------
 .../opac-tmpl/prog/en/modules/opac-detail.tmpl     |    8 ++++-
 opac/opac-detail.pl                                |    3 ++
 3 files changed, 29 insertions(+), 12 deletions(-)

diff --git a/C4/External/Amazon.pm b/C4/External/Amazon.pm
index 7d0c1b5..a0c922f 100644
--- a/C4/External/Amazon.pm
+++ b/C4/External/Amazon.pm
@@ -35,9 +35,27 @@ BEGIN {
     @EXPORT = qw(
         &get_amazon_details
         &check_search_inside
+        &get_amazon_tld
     );
 }
 
+
+sub get_amazon_tld {
+    my %tld = (
+        CA => '.ca',
+        DE => '.de',
+        FR => '.fr',
+        JP => '.jp',
+        UK => '.co.uk',
+        US => '.com',
+    );
+
+    my $locale = C4::Context->preference('AmazonLocale');
+    my $tld = $tld{ $locale } || '.com'; # default top level domain is .com
+    return $tld;
+}
+
+
 =head1 NAME
 
 C4::External::Amazon - Functions for retrieving Amazon.com content in Koha
@@ -100,17 +118,7 @@ sub get_amazon_details {
     # Determine which content to grab in the request
 
     # Determine correct locale
-    my $locale_hashref = {
-        CA => '.ca',
-        DE => '.de',
-        FR => '.fr',
-        JP => '.jp',
-        UK => '.co.uk',
-        US => '.com',
-    };
-
-    my $amazon_locale_syspref = C4::Context->preference('AmazonLocale');
-    my $tld = $locale_hashref->{$amazon_locale_syspref} || '.com'; # default top level domain is .com
+    my $tld = get_amazon_tld();
 
     # grab the AWSAccessKeyId: mine is '0V5RRRRJZ3HR2RQFNHR2'
     my $aws_access_key_id = C4::Context->preference('AWSAccessKeyID');
diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
index 7ca4739..7c6ae69 100644
--- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
+++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
@@ -52,7 +52,13 @@
     <div id="catalogue_detail_biblio">
 
     <div id="bookcover">
-    <!-- TMPL_IF NAME="OPACAmazonEnabled" --><!-- TMPL_IF NAME="OPACAmazonCoverImages" --><!-- TMPL_IF NAME="OPACURLOpenInNewWindow" --><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="normalized_isbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link" target="_blank"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="normalized_isbn" -->.01._PIdp-schmooS,TopRight,7,-26_SCMZZZZZZZ_.jpg" alt="Cover Image" /></a><!-- TMPL_ELSE --><a href="http://www.amazon.com/gp/reader/<!-- TMPL_VAR NAME="normalized_isbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link"><img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="normalized_isbn" -->.01._PIdp-schmooS,TopRight,7,-26_SCMZZZZZZZ_.jpg" alt="Cover Image" /></a><!-- /TMPL_IF --><!-- /TMPL_IF --><!-- /TMPL_IF -->
+<!-- TMPL_IF NAME="OPACAmazonEnabled" -->
+<!-- TMPL_IF NAME="OPACAmazonCoverImages" -->
+<a href="http://www.amazon<!-- TMPL_VAR NAME="AmazonTld" -->/gp/reader/<!-- TMPL_VAR NAME="normalized_isbn" -->/ref=sib_dp_pt/002-7879865-0184864#reader-link"
+<!-- TMPL_IF NAME="OPACURLOpenInNewWindow" -->target="_blank"><!-- /TMPL_IF -->
+<img border="0" src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="normalized_isbn" -->.01.MZZZZZZZ.jpg" alt="Cover Image" />
+</a>
+<!-- /TMPL_IF -->
     <!-- TMPL_IF NAME="SyndeticsEnabled" --><!-- TMPL_IF NAME="SyndeticsCoverImages" --><!-- TMPL_IF NAME="content_identifier_exists" --><img src="http://www.syndetics.com/index.aspx?isbn=<!-- TMPL_VAR NAME="normalized_isbn" -->/<!-- TMPL_VAR NAME="SyndeticsCoverImageSize" -->.GIF&amp;client=<!-- TMPL_VAR NAME="SyndeticsClientCode" -->&amp;type=xw10<!-- TMPL_IF NAME="normalized_upc" -->&amp;upc=<!-- TMPL_VAR NAME="normalized_upc" --><!-- /TMPL_IF --><!-- TMPL_IF NAME="normalized_oclc" -->&amp;oclc=<!-- TMPL_VAR NAME="normalized_oclc" --><!-- /TMPL_IF -->" alt="" class="thumbnail" /><!-- TMPL_ELSE --><span class="no-image">No cover image available</span><!-- /TMPL_IF --><!-- /TMPL_IF --><!-- /TMPL_IF -->
     <!-- TMPL_IF NAME="GoogleJackets" --><div style="block" title="<!-- TMPL_VAR NAME="biblionumber" ESCAPE="URL" -->" class="<!-- TMPL_VAR NAME="normalized_isbn" -->" id="gbs-thumbnail"></div><!-- /TMPL_IF -->
     <!-- TMPL_IF NAME="BakerTaylorEnabled" --><!-- TMPL_IF NAME="normalized_isbn" --><!-- TMPL_IF NAME="OPACURLOpenInNewWindow" --><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="normalized_isbn" -->" target="_blank"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="normalized_isbn" -->" /></a><!-- TMPL_ELSE --><a href="https://<!-- TMPL_VAR NAME="BakerTaylorBookstoreURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="normalized_isbn" -->"><img alt="See Baker &amp; Taylor" src="<!-- TMPL_VAR NAME="BakerTaylorImageURL" ESCAPE="HTML" --><!-- TMPL_VAR NAME="normalized_isbn" -->" /></a><!-- /TMPL_IF --><!-- /TMPL_IF --><!-- /TMPL_IF -->
diff --git a/opac/opac-detail.pl b/opac/opac-detail.pl
index fba01d9..f5ed0ba 100755
--- a/opac/opac-detail.pl
+++ b/opac/opac-detail.pl
@@ -255,6 +255,9 @@ if (C4::Context->preference("OPACFRBRizeEditions")==1) {
     if ($@) { warn "XISBN Failed $@"; }
 }
 # Amazon.com Stuff
+if ( C4::Context->preference("OPACAmazonEnabled") ) {
+    $template->param( AmazonTld => get_amazon_tld() );
+}
 if ( C4::Context->preference("OPACAmazonEnabled") && C4::Context->preference("OPACAmazonSimilarItems") ) {
     my $similar_products_exist;
     my $amazon_details = &get_amazon_details( $isbn, $record, $marcflavour );
-- 
1.5.6.5




More information about the Koha-patches mailing list