From 6956006ff7c014562bef35484798e423a348ad2b Mon Sep 17 00:00:00 2001
From: Fridolin Somers <fridolin.somers@biblibre.com>
Date: Wed, 3 Mar 2021 14:27:00 +0100
Subject: [PATCH] Bug 27850: Search link for 260 a and c in MARC21 XSLT display

In MARC21 XSLT display, 260$b is a search link on 'Provider'.
$a and $c also have a search field, we can create search links.

Test plan:
1) Create 2 records with same 260 : two $a, one $b, two $c
2) Look at first record details page (using XSLT display)
3) Click on a $a link => you see both records
4) Click on a $c link => you see both records

Signed-off-by: David Nind <david@davidnind.com>
---
 .../prog/en/xslt/MARC21slim2intranetDetail.xsl     | 32 ++++++++++++++++------
 1 file changed, 23 insertions(+), 9 deletions(-)

diff --git a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
index f9124f668d..479a719546 100644
--- a/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
+++ b/koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
@@ -290,11 +290,15 @@
             <xsl:when test="marc:datafield[@tag=260]">
                 <span class="results_summary publisher"><span class="label">Publication details: </span>
                     <xsl:for-each select="marc:datafield[@tag=260]">
-                        <xsl:if test="marc:subfield[@code='a']">
-                            <xsl:call-template name="subfieldSelect">
-                                <xsl:with-param name="codes">a</xsl:with-param>
-                            </xsl:call-template>
-                        </xsl:if>
+                        <xsl:for-each select="marc:subfield[@code='a']">
+                            <a>
+                                <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=pl:"<xsl:value-of select="str:encode-uri(., true())"/>"</xsl:attribute>
+                                <xsl:value-of select="."/>
+                            </a>
+                            <xsl:if test="position() != last()">
+                                <xsl:text> </xsl:text>
+                            </xsl:if>
+                        </xsl:for-each>
                         <xsl:text> </xsl:text>
                         <xsl:if test="marc:subfield[@code='b']">
                         <a>
@@ -302,13 +306,23 @@
                             <xsl:call-template name="subfieldSelect">
                                 <xsl:with-param name="codes">b</xsl:with-param>
                             </xsl:call-template>
-                       </a>
-                       </xsl:if>
-                       <xsl:text> </xsl:text>
+                        </a>
+                        </xsl:if>
+                        <xsl:text> </xsl:text>
+                        <xsl:for-each select="marc:subfield[@code='c']">
+                            <a>
+                                <xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=copydate:"<xsl:value-of select="str:encode-uri(., true())"/>"</xsl:attribute>
+                                <xsl:value-of select="."/>
+                            </a>
+                            <xsl:if test="position() != last()">
+                                <xsl:text> </xsl:text>
+                            </xsl:if>
+                        </xsl:for-each>
+                        <xsl:text> </xsl:text>
                         <xsl:call-template name="chopPunctuation">
                           <xsl:with-param name="chopString">
                             <xsl:call-template name="subfieldSelect">
-                                <xsl:with-param name="codes">cg</xsl:with-param>
+                                <xsl:with-param name="codes">g</xsl:with-param>
                             </xsl:call-template>
                            </xsl:with-param>
                        </xsl:call-template>
-- 
2.11.0