Bug 21589: Series link formed from 830 field is incorrect
Bug 13692 corrected the series link for records using a 490/800 combination When a record has a 490/830 conbination for series, the link is malformed (title is used as author, title is blank) Test Plan: 1) Catalog two or more records with 830 fields 2) Note the series links are broken 3) Apply this patch 4) Reload the record details page 5) The series link should now work 6) Repeat for the OPAC Signed-off-by: Claire Gravely <claire.gravely@bsz-bw.de> Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> Signed-off-by: Nick Clemens <nick@bywatersolutions.com> (cherry picked from commit20496bc78b) Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com> (cherry picked from commit07fc6e0c53) Signed-off-by: Lucas Gass <lucas@bywatersolutions.com>
This commit is contained in:
parent
05db4abd2c
commit
bfb5fb46cc
|
|
@ -220,7 +220,7 @@
|
|||
</xsl:for-each>
|
||||
<!-- 490 Series traced, Ind1 = 1 -->
|
||||
<xsl:if test="marc:datafield[@tag=490][@ind1=1]">
|
||||
<xsl:for-each select="marc:datafield[@tag=800 or @tag=810 or @tag=811 or @tag=830]">
|
||||
<xsl:for-each select="marc:datafield[@tag=800 or @tag=810 or @tag=811]">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
|
||||
<a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=rcn:<xsl:value-of select="str:encode-uri(marc:subfield[@code='w'], true())"/></xsl:attribute>
|
||||
|
|
@ -250,6 +250,37 @@
|
|||
<xsl:value-of select="marc:subfield[@code='v']" />
|
||||
<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:for-each select="marc:datafield[@tag=830]">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
|
||||
<a href="/cgi-bin/koha/catalogue/search.pl?q=rcn:{marc:subfield[@code='w']}">
|
||||
<xsl:call-template name="chopPunctuation">
|
||||
<xsl:with-param name="chopString">
|
||||
<xsl:call-template name="subfieldSelect">
|
||||
<xsl:with-param name="codes">a_t</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=se,phr:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
|
||||
<xsl:call-template name="chopPunctuation">
|
||||
<xsl:with-param name="chopString">
|
||||
<xsl:call-template name="subfieldSelect">
|
||||
<xsl:with-param name="codes">a_t</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</a>
|
||||
<xsl:call-template name="part"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="marc:subfield[@code='v']" />
|
||||
<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:if>
|
||||
|
||||
</span>
|
||||
|
|
|
|||
|
|
@ -236,7 +236,7 @@
|
|||
</xsl:for-each>
|
||||
<!-- 490 Series traced, Ind1 = 1 -->
|
||||
<xsl:if test="marc:datafield[@tag=490][@ind1=1]">
|
||||
<xsl:for-each select="marc:datafield[@tag=800 or @tag=810 or @tag=811 or @tag=830]">
|
||||
<xsl:for-each select="marc:datafield[@tag=800 or @tag=810 or @tag=811]">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
|
||||
<a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=rcn:<xsl:value-of select="str:encode-uri(marc:subfield[@code='w'], true())"/></xsl:attribute>
|
||||
|
|
@ -266,6 +266,36 @@
|
|||
<xsl:value-of select="marc:subfield[@code='v']" />
|
||||
<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:for-each select="marc:datafield[@tag=830]">
|
||||
<xsl:choose>
|
||||
<xsl:when test="$UseControlNumber = '1' and marc:subfield[@code='w']">
|
||||
<a href="/cgi-bin/koha/catalogue/search.pl?q=rcn:{marc:subfield[@code='w']}">
|
||||
<xsl:call-template name="chopPunctuation">
|
||||
<xsl:with-param name="chopString">
|
||||
<xsl:call-template name="subfieldSelect">
|
||||
<xsl:with-param name="codes">a_t</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</a>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=se,phr:"<xsl:value-of select="marc:subfield[@code='a']"/>"</xsl:attribute>
|
||||
<xsl:call-template name="chopPunctuation">
|
||||
<xsl:with-param name="chopString">
|
||||
<xsl:call-template name="subfieldSelect">
|
||||
<xsl:with-param name="codes">a_t</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</a>
|
||||
<xsl:call-template name="part"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:text>: </xsl:text>
|
||||
<xsl:value-of select="marc:subfield[@code='v']" />
|
||||
<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:if>
|
||||
</span>
|
||||
</xsl:if>
|
||||
|
|
|
|||
Loading…
Reference in New Issue