From c51bccaadd2fcb78e131e6d44d5a604f116e4684 Mon Sep 17 00:00:00 2001
From: Hector Castro <hector.hecaxmmx@gmail.com>
Date: Fri, 5 Feb 2016 08:44:54 -0600
Subject: [PATCH] Bug 14304: RDA: OPAC display link in XSLT for 264 field to
reflect Zebra indexing
Content-Type: text/plain; charset=utf-8
This patch add display link in XSLT for field 264/bug 14198 and reflect the
Zebra index 'Provider' in detail page for OPAC screen.
To test: follow previous test plan
Signed-off-by: Katrin Fischer <katrin.fischer.83@web.de>
Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
---
.../bootstrap/en/xslt/MARC21slim2OPACDetail.xsl | 6 ++-
.../bootstrap/en/xslt/MARC21slimUtils.xsl | 40 +++++++++++++++++++-
2 files changed, 42 insertions(+), 4 deletions(-)
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
index 20833ce..d3473e0 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
@@ -339,7 +339,9 @@
<!-- Publisher info and RDA related info from tags 260, 264 -->
<xsl:choose>
<xsl:when test="marc:datafield[@tag=264]">
- <xsl:call-template name="showRDAtag264"/>
+ <xsl:call-template name="showRDAtag264">
+ <xsl:with-param name="show_url">1</xsl:with-param>
+ </xsl:call-template>
</xsl:when>
<xsl:when test="marc:datafield[@tag=260]">
<span class="results_summary publisher"><span class="label">Publisher: </span>
@@ -354,7 +356,7 @@
</xsl:if>
<xsl:text> </xsl:text>
<xsl:if test="marc:subfield[@code='b']">
- <span property="name"><a href="/cgi-bin/koha/opac-search.pl?q=pb:{marc:subfield[@code='b']}">
+ <span property="name"><a href="/cgi-bin/koha/opac-search.pl?q=Provider:{marc:subfield[@code='b']}">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">b</xsl:with-param>
</xsl:call-template>
diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl
index 9ceb9ed..596bddf 100644
--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl
+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slimUtils.xsl
@@ -216,11 +216,13 @@
The preferred tag is saved in the fav variable and passed to a
helper named-template -->
<!-- Amended to show all 264 fields (filtered by ind1=3 if ind1=3 is present in the record) -->
+ <xsl:param name="show_url"/>
<xsl:choose>
<xsl:when test="marc:datafield[@tag=264 and @ind1=3]">
<xsl:for-each select="marc:datafield[@tag=264 and @ind1=3]">
<xsl:call-template name="showRDAtag264helper">
<xsl:with-param name="field" select="."/>
+ <xsl:with-param name="url" select="$show_url"/>
</xsl:call-template>
</xsl:for-each>
</xsl:when>
@@ -228,6 +230,7 @@
<xsl:for-each select="marc:datafield[@tag=264]">
<xsl:call-template name="showRDAtag264helper">
<xsl:with-param name="field" select="."/>
+ <xsl:with-param name="url" select="$show_url"/>
</xsl:call-template>
</xsl:for-each>
</xsl:otherwise>
@@ -235,6 +238,7 @@
</xsl:template>
<xsl:template name="showRDAtag264helper">
<xsl:param name="field"/>
+ <xsl:param name="url"/>
<xsl:variable name="ind2" select="$field/@ind2"/>
<span class="results_summary">
<xsl:choose>
@@ -254,9 +258,41 @@
<span class="label">Copyright date: </span>
</xsl:when>
</xsl:choose>
- <xsl:call-template name="subfieldSelect">
- <xsl:with-param name="codes">abc</xsl:with-param>
+
+ <xsl:if test="$field/marc:subfield[@code='a']">
+ <xsl:call-template name="subfieldSelect">
+ <xsl:with-param name="codes">a</xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ <xsl:text> </xsl:text>
+
+ <xsl:choose>
+ <xsl:when test="$url='1'">
+ <xsl:if test="$field/marc:subfield[@code='b']">
+ <a href="/cgi-bin/koha/opac-search.pl?q=Provider:{$field/marc:subfield[@code='b']}">
+ <xsl:call-template name="subfieldSelect">
+ <xsl:with-param name="codes">b</xsl:with-param>
+ </xsl:call-template>
+ </a>
+ </xsl:if>
+ </xsl:when>
+ <xsl:otherwise>
+ <xsl:if test="$field/marc:subfield[@code='b']">
+ <xsl:call-template name="subfieldSelect">
+ <xsl:with-param name="codes">b</xsl:with-param>
+ </xsl:call-template>
+ </xsl:if>
+ </xsl:otherwise>
+ </xsl:choose>
+ <xsl:text> </xsl:text>
+ <xsl:call-template name="chopPunctuation">
+ <xsl:with-param name="chopString">
+ <xsl:call-template name="subfieldSelect">
+ <xsl:with-param name="codes">c</xsl:with-param>
+ </xsl:call-template>
+ </xsl:with-param>
</xsl:call-template>
+
</span>
</xsl:template>
</xsl:stylesheet>
--
1.7.10.4