Fixing Amazon.com Similar Items and Editions features
authorJoshua Ferraro <jmf@liblime.com>
Sun, 18 May 2008 01:35:48 +0000 (21:35 -0400)
committerJoshua Ferraro <jmf@liblime.com>
Sun, 18 May 2008 01:37:18 +0000 (20:37 -0500)
Signed-off-by: Joshua Ferraro <jmf@liblime.com>
C4/XISBN.pm
koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tmpl
koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl

index 1a177c1..e496cba 100644 (file)
@@ -42,10 +42,10 @@ BEGIN {
 sub get_biblionumber_from_isbn {
     my $isbn = shift;
     $isbn =~ /(\d*[X]*)/;
-    $isbn = $1;
+    $isbn = $1.'%' if $isbn;
     my @biblionumbers;
     my $dbh=C4::Context->dbh;
-    my $query = "SELECT biblionumber FROM biblioitems WHERE isbn=?";
+    my $query = "SELECT biblionumber FROM biblioitems WHERE isbn LIKE ?";
     my $sth = $dbh->prepare($query);
     $sth->execute($isbn);
     while ( my $biblionumber = $sth->fetchrow_hashref() ) {
@@ -65,8 +65,9 @@ This module provides facilities for retrieving ThingISBN and XISBN content in Ko
 
 sub get_biblio_from_xisbn {
     my $xisbn = shift;
+    $xisbn .='%' if ($xisbn =~ /(\d*[X]*)/);
     my $dbh = C4::Context->dbh;
-    my $query = "SELECT biblionumber FROM biblioitems WHERE isbn=?";
+    my $query = "SELECT biblionumber FROM biblioitems WHERE isbn LIKE ?";
     my $sth = $dbh->prepare($query);
     $sth->execute($xisbn);
     my $xbib_data =  $sth->fetchrow_hashref();
@@ -89,7 +90,8 @@ sub get_biblio_from_xisbn {
 sub get_xisbns {
     my ( $isbn ) = @_;
     my ($response,$thing_response,$xisbn_response,$gapines_response);
-
+    $isbn =~ /(\d*[X]*)/;
+    $isbn = $1;
     # THINGISBN
     if ( C4::Context->preference('ThingISBN') ) {
         my $url = "http://www.librarything.com/api/thingISBN/".$isbn;
index b46abed..425ca03 100755 (executable)
 <!-- TMPL_IF name="count" -->
     <table>
         <tr>
-            <!-- TMPL_IF NAME="item-level_itypes" --><th>Item type</th><!-- /TMPL_IF -->
-                         <!-- TMPL_IF NAME="itemdata_ccode" --><th>Collection</th><!-- /TMPL_IF -->
-              <th>Location</th>
-                         <th>Call Number</th>
-                         <!-- TMPL_IF NAME="itemdata_enumchron" --><th>Vol Info</th><!-- /TMPL_IF -->
-                         <!-- TMPL_IF NAME="itemdata_copynumber" --><th>Copy</th><!-- /TMPL_IF -->
+            <!-- TMPL_IF NAME="OPACDisplayItypes" --><!-- TMPL_IF NAME="item-level_itypes" --><th>Item type</th><!-- /TMPL_IF --><!-- /TMPL_IF -->
+            <th>Location</th>
+           <!-- TMPL_IF NAME="itemdata_ccode" --><th>Collection</th><!-- /TMPL_IF -->
+           <th>Call Number</th>
+           <!-- TMPL_IF NAME="itemdata_enumchron" --><th>Vol Info</th><!-- /TMPL_IF -->
+           <!-- TMPL_IF NAME="itemdata_copynumber" --><th>Copy</th><!-- /TMPL_IF -->
             <!-- TMPL_IF NAME="serial" -->
-                         <th>Serial Data</th>
-              <th>Published</th><!-- /TMPL_IF -->
-              <th>Status</th>
-              <th>Date Due</th>
+           <th>Serial Data</th>
+            <th>Published</th><!-- /TMPL_IF -->
+            <th>Status</th>
+            <th>Date Due</th>
         </tr>
         <!-- TMPL_LOOP NAME="ITEM_RESULTS" -->
         <tr>
 
-            <!-- TMPL_IF NAME="item-level_itypes" --><td><!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" title="<!-- TMPL_VAR NAME="description" -->" alt="<!-- TMPL_VAR NAME="description" -->" /><!-- /TMPL_IF --> <!-- TMPL_VAR NAME="description" -->
-                    </td><!-- /TMPL_IF -->
-            <!-- TMPL_IF NAME="itemdata_ccode" --><td><!-- TMPL_VAR NAME="ccode" --></td><!-- /TMPL_IF -->
+            <!-- TMPL_IF NAME="item-level_itypes" --><!-- TMPL_IF NAME="OPACDisplayItypes" --><td><!-- TMPL_IF NAME="imageurl" --><img src="<!-- TMPL_VAR NAME="imageurl" -->" title="<!-- TMPL_VAR NAME="description" -->" alt="<!-- TMPL_VAR NAME="description" -->" /><!-- /TMPL_IF --> <!-- TMPL_VAR NAME="description" -->
+                    </td><!-- /TMPL_IF --><!-- /TMPL_IF -->
                        <td><!-- TMPL_UNLESS NAME="singleBranchMode" --><!-- TMPL_VAR NAME="branchname" --><!-- /TMPL_UNLESS --> <!-- TMPL_VAR NAME="location_description" --> </td>
+                       <!-- TMPL_IF NAME="itemdata_ccode" --><td><!-- TMPL_VAR NAME="ccode" --></td><!-- /TMPL_IF -->
                        <td><!-- TMPL_IF NAME="itemcallnumber" --> <!-- TMPL_VAR NAME="itemcallnumber" --><!-- /TMPL_IF --> <!-- TMPL_IF NAME="OPACShelfBrowser" -->(<a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->&amp;shelfbrowse_itemnumber=<!-- TMPL_VAR NAME="itemnumber" -->#shelfbrowser">Browse Shelf</a>)<!-- /TMPL_IF --></td>
                        <!-- TMPL_IF NAME="itemdata_enumchron" --><td><!-- TMPL_VAR NAME="enumchron" --></td><!-- /TMPL_IF -->
                        <!-- TMPL_IF NAME="itemdata_copynumber" --><td><!-- TMPL_VAR NAME="copynumber" --></td><!-- /TMPL_IF -->
 <h2>Other Editions of this Work</h2>
 <table>
 <!-- TMPL_LOOP NAME="XISBNS" -->
-<tr><!-- TMPL_IF NAME="AmazonContent" --><td><img src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="isbn" -->.01._AA75_PU_PU-5_.jpg" alt="" /></td><!-- /TMPL_IF --><td><!-- TMPL_VAR NAME="description" --></td><td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" --></a><!-- TMPL_IF NAME="author" --> by <!-- TMPL_VAR NAME="author" ESCAPE="HTML" --><!-- /TMPL_IF --><!-- TMPL_IF NAME="copyrightdate" --> &copy;<!-- TMPL_VAR NAME="copyrightdate" --><!-- /TMPL_IF --><!-- TMPL_IF name="publishercode" -->
+<tr><!-- TMPL_IF NAME="AmazonContent" --><td><img src="http://images.amazon.com/images/P/<!-- TMPL_VAR NAME="amazonisbn" -->.01._AA75_PU_PU-5_.jpg" alt="" /></td><!-- /TMPL_IF --><td><!-- TMPL_VAR NAME="description" --></td><td><a href="/cgi-bin/koha/opac-detail.pl?biblionumber=<!-- TMPL_VAR NAME="biblionumber" -->"><!-- TMPL_VAR NAME="title" --></a><!-- TMPL_IF NAME="author" --> by <!-- TMPL_VAR NAME="author" ESCAPE="HTML" --><!-- /TMPL_IF --><!-- TMPL_IF NAME="copyrightdate" --> &copy;<!-- TMPL_VAR NAME="copyrightdate" --><!-- /TMPL_IF --><!-- TMPL_IF name="publishercode" -->
     <p><!-- TMPL_VAR NAME="publishercode" ESCAPE="HTML" --> 
        <!-- TMPL_IF name="place" -->(<!-- TMPL_VAR NAME="place"-->)<!--/TMPL_IF--> <!-- TMPL_IF NAME="publicationyear" -->, <!-- TMPL_VAR NAME="publicationyear" --><!-- /TMPL_IF -->
        <!-- TMPL_IF NAME="pages" --><!-- TMPL_VAR NAME="pages" --> <!-- TMPL_VAR NAME="illus" --> <!-- TMPL_VAR NAME="size" --></p><!-- /TMPL_IF -->
         </a></li><!-- /TMPL_IF -->
 </ul>
 
-<!-- TMPL_IF NAME="AmazonContent" --><!-- TMPL_IF NAME="OPACAmazonSimilarItems" --><!-- TMPL_IF NAME="similar_biblionumbers" -->
+<!-- TMPL_IF NAME="AmazonContent" --><!-- TMPL_IF NAME="OPACAmazonSimilarItems" --><!-- TMPL_IF NAME="AMAZON_SIMILAR_PRODUCTS" -->
 <div id="similars">
 <h4>Similar Items</h4>
 <ul>
index 7f5b4d3..ef692a0 100644 (file)
                 <xsl:when test="$leader6='c' or $leader6='d' or $leader6='i' or $leader6='j'">Music</xsl:when>
             </xsl:choose>
         </xsl:variable>
-        <xsl:variable name="lcc">
-            <xsl:for-each select="marc:datafield[@tag=050]">
-                    <xsl:call-template name="subfieldSelect">
-                        <xsl:with-param name="codes">ab</xsl:with-param>
-                    </xsl:call-template>
-                    <xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
-            </xsl:for-each>
-        </xsl:variable>
 
         <!-- Title Statement -->
         <div id="views">
                <xsl:value-of select="$materialTypeLabel"/>
         </span>
         </xsl:if>
-        <xsl:if test="marc:datafield[@tag=050]">
-        <span class="results_summary"><span class="label">Library of Congress Classification: </span>
-        <xsl:value-of select="$lcc"/>
-        </span>
-        </xsl:if>
         <xsl:if test="marc:datafield[@tag=440 or @tag=490]">
         <span class="results_summary"><span class="label">Series: </span>
         <xsl:for-each select="marc:datafield[@tag=440]">