Bug 13650: Remove parens from links to fix searches
This patch will resolve the issue of not being able to search with parens in a subject heading by editing the xslt To test: * Apply patch * Search Koha for a title with ( ) in the subject * Click the subject * Results should be returned * Repeat in OPAC and Staff client Signed-off-by: Nick <Nick@quechelibrary.org> Signed-off-by: Katrin Fischer <Katrin.Fischer.83@web.de> Signed-off-by: Tomas Cohen Arazi <tomascohen@gmail.com>
This commit is contained in:
parent
47bf99576e
commit
f52084df0e
|
|
@ -3,6 +3,7 @@
|
|||
<!DOCTYPE stylesheet [<!ENTITY nbsp " " >]>
|
||||
|
||||
<!-- $Id: MARC21slim2DC.xsl,v 1.1 2003/01/06 08:20:27 adam Exp $ -->
|
||||
<!-- Edited: Bug 1807 [ENH] XSLT enhancements sponsored by bywater solutions 2015/01/19 WS wsalesky@gmail.com -->
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:marc="http://www.loc.gov/MARC21/slim"
|
||||
xmlns:items="http://www.koha-community.org/items"
|
||||
|
|
@ -534,11 +535,12 @@
|
|||
<xsl:for-each select="marc:datafield[substring(@tag, 1, 1) = '6'][not(@tag=655)]">
|
||||
<a>
|
||||
<xsl:choose>
|
||||
<!-- #1807 Strip unwanted parenthesis from subjects for searching -->
|
||||
<xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
|
||||
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<xsl:when test="$TraceSubjectSubdivisions='1'">
|
||||
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=<xsl:call-template name="subfieldSelect">
|
||||
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=<xsl:call-template name="subfieldSelectSubject">
|
||||
<xsl:with-param name="codes">abcdfgklmnopqrstvxyz</xsl:with-param>
|
||||
<xsl:with-param name="delimeter"> AND </xsl:with-param>
|
||||
<xsl:with-param name="prefix">(su<xsl:value-of select="$SubjectModifier"/>:<xsl:value-of select="$TracingQuotesLeft"/></xsl:with-param>
|
||||
|
|
@ -546,8 +548,9 @@
|
|||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:when>
|
||||
<!-- #1807 Strip unwanted parenthesis from subjects for searching -->
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=su<xsl:value-of select="$SubjectModifier"/>:<xsl:value-of select="$TracingQuotesLeft"/><xsl:value-of select="marc:subfield[@code='a']"/><xsl:value-of select="$TracingQuotesRight"/></xsl:attribute>
|
||||
<xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=su<xsl:value-of select="$SubjectModifier"/>:<xsl:value-of select="$TracingQuotesLeft"/><xsl:value-of select="translate(marc:subfield[@code='a'],'()','')"/><xsl:value-of select="$TracingQuotesRight"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:call-template name="chopPunctuation">
|
||||
|
|
@ -1063,4 +1066,25 @@
|
|||
</xsl:if>
|
||||
</xsl:template>
|
||||
|
||||
<!-- #1807 Strip unwanted parenthesis from subjects for searching -->
|
||||
<xsl:template name="subfieldSelectSubject">
|
||||
<xsl:param name="codes"/>
|
||||
<xsl:param name="delimeter"><xsl:text> </xsl:text></xsl:param>
|
||||
<xsl:param name="subdivCodes"/>
|
||||
<xsl:param name="subdivDelimiter"/>
|
||||
<xsl:param name="prefix"/>
|
||||
<xsl:param name="suffix"/>
|
||||
<xsl:variable name="str">
|
||||
<xsl:for-each select="marc:subfield">
|
||||
<xsl:if test="contains($codes, @code)">
|
||||
<xsl:if test="contains($subdivCodes, @code)">
|
||||
<xsl:value-of select="$subdivDelimiter"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="$prefix"/><xsl:value-of select="translate(text(),'()','')"/><xsl:value-of select="$suffix"/><xsl:value-of select="$delimeter"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
<xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/>
|
||||
</xsl:template>
|
||||
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- $Id: MARC21slim2DC.xsl,v 1.1 2003/01/06 08:20:27 adam Exp $ -->
|
||||
<!-- Edited: Bug 1807 [ENH] XSLT enhancements sponsored by bywater solutions 2015/01/19 WS wsalesky@gmail.com -->
|
||||
<!DOCTYPE stylesheet [<!ENTITY nbsp " " >]>
|
||||
<xsl:stylesheet version="1.0"
|
||||
xmlns:marc="http://www.loc.gov/MARC21/slim"
|
||||
|
|
@ -586,8 +587,9 @@
|
|||
<xsl:when test="marc:subfield[@code=9] and $UseAuthoritiesForTracings='1'">
|
||||
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute>
|
||||
</xsl:when>
|
||||
<!-- #1807 Strip unwanted parenthesis from subjects for searching -->
|
||||
<xsl:when test="$TraceSubjectSubdivisions='1'">
|
||||
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:call-template name="subfieldSelect">
|
||||
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=<xsl:call-template name="subfieldSelectSubject">
|
||||
<xsl:with-param name="codes">abcdfgklmnopqrstvxyz</xsl:with-param>
|
||||
<xsl:with-param name="delimeter"> AND </xsl:with-param>
|
||||
<xsl:with-param name="prefix">(su<xsl:value-of select="$SubjectModifier"/>:<xsl:value-of select="$TracingQuotesLeft"/></xsl:with-param>
|
||||
|
|
@ -595,8 +597,9 @@
|
|||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:when>
|
||||
<!-- #1807 Strip unwanted parenthesis from subjects for searching -->
|
||||
<xsl:otherwise>
|
||||
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=su<xsl:value-of select="$SubjectModifier"/>:<xsl:value-of select="$TracingQuotesLeft"/><xsl:value-of select="marc:subfield[@code='a']"/><xsl:value-of select="$TracingQuotesRight"/></xsl:attribute>
|
||||
<xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=su<xsl:value-of select="$SubjectModifier"/>:<xsl:value-of select="$TracingQuotesLeft"/><xsl:value-of select="translate(marc:subfield[@code='a'],'()','')"/><xsl:value-of select="$TracingQuotesRight"/></xsl:attribute>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
<xsl:call-template name="chopPunctuation">
|
||||
|
|
@ -1241,4 +1244,25 @@
|
|||
</xsl:variable>
|
||||
<xsl:value-of select="substring($str,1,string-length($str)-1)"/>
|
||||
</xsl:template>
|
||||
|
||||
<!-- #1807 Strip unwanted parenthesis from subjects for searching -->
|
||||
<xsl:template name="subfieldSelectSubject">
|
||||
<xsl:param name="codes"/>
|
||||
<xsl:param name="delimeter"><xsl:text> </xsl:text></xsl:param>
|
||||
<xsl:param name="subdivCodes"/>
|
||||
<xsl:param name="subdivDelimiter"/>
|
||||
<xsl:param name="prefix"/>
|
||||
<xsl:param name="suffix"/>
|
||||
<xsl:variable name="str">
|
||||
<xsl:for-each select="marc:subfield">
|
||||
<xsl:if test="contains($codes, @code)">
|
||||
<xsl:if test="contains($subdivCodes, @code)">
|
||||
<xsl:value-of select="$subdivDelimiter"/>
|
||||
</xsl:if>
|
||||
<xsl:value-of select="$prefix"/><xsl:value-of select="translate(text(),'()','')"/><xsl:value-of select="$suffix"/><xsl:value-of select="$delimeter"/>
|
||||
</xsl:if>
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
<xsl:value-of select="substring($str,1,string-length($str)-string-length($delimeter))"/>
|
||||
</xsl:template>
|
||||
</xsl:stylesheet>
|
||||
|
|
|
|||
Loading…
Reference in New Issue