Bug 24352: Correct location and collection labels in OPAC search results
authorOwen Leonard <oleonard@myacpl.org>
Tue, 16 Jun 2020 19:48:48 +0000 (19:48 +0000)
committerJonathan Druart <jonathan.druart@bugs.koha-community.org>
Wed, 24 Jun 2020 12:31:37 +0000 (14:31 +0200)
This patch modifies the OPAC's MARC21 search results XSLT so that
OPAC search result information is correctly labeled
based on the OpacItemLocation preference.

Previously, search results showed the label "Location(s)" whether the
setting was "collection code" or "location."

To test, apply the patch and set the OPACXSLTResultsDisplay system
preference to 'default.'

On the OPAC search results page, each result with items should show
information in this format:

   With the OpacItemLocation preference set to 'call number only,'
    - "Availability: Items available for loan: {library} [Call number:
      {call number} ]

   With the OpacItemLocation preference set to 'collection code,'
     - "Availability: Items available for loan: {library}
        Collection(s): {collection description} [{ call number }]"

   With the OpacItemLocation preference set to 'location,'
     - "Availability: Items available for loan: {library}
        Location(s): {shelving location} [{ call number }]"

Signed-off-by: David Nind <david@davidnind.com>

Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>

Signed-off-by: Jonathan Druart <jonathan.druart@bugs.koha-community.org>

koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACResults.xsl

index 339f058..c3a5d7c 100644 (file)
     <xsl:choose>
         <xsl:when test="($OPACItemLocation='location' or $OPACItemLocation='ccode') and (count(key('item-by-status', 'available'))!=0 or count(key('item-by-status', 'reference'))!=0)">
             <span class="results_summary location">
-                <span class="label">Location(s): </span>
+
+                <xsl:choose>
+                    <xsl:when test="$OPACItemLocation='location'">
+                        <span class="label">Location(s): </span>
+                    </xsl:when>
+                    <xsl:when test="$OPACItemLocation='ccode'">
+                        <span class="label">Collection(s): </span>
+                    </xsl:when>
+                </xsl:choose>
+
                 <xsl:choose>
                 <xsl:when test="count(key('item-by-status', 'available'))>0">
                     <span class="available">