Bugzilla – Attachment 163191 Details for
Bug 29539
UNIMARC: authority number in $9 displays for thesaurus controlled fields instead of content of $a
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 29539: UNIMARC: authority number in $9 displays for thesaurus controlled fields instead of content of $a
Bug-29539-UNIMARC-authority-number-in-9-displays-f.patch (text/plain), 6.78 KB, created by
Marcel de Rooy
on 2024-03-15 10:40:06 UTC
(
hide
)
Description:
Bug 29539: UNIMARC: authority number in $9 displays for thesaurus controlled fields instead of content of $a
Filename:
MIME Type:
Creator:
Marcel de Rooy
Created:
2024-03-15 10:40:06 UTC
Size:
6.78 KB
patch
obsolete
>From b0013b11fe7081ee9da5d07740f9ea972c8d2b7e Mon Sep 17 00:00:00 2001 >From: George Veranis <gveranis@dataly.gr> >Date: Thu, 14 Sep 2023 08:24:07 +0200 >Subject: [PATCH] Bug 29539: UNIMARC: authority number in $9 displays for > thesaurus controlled fields instead of content of $a >Content-Type: text/plain; charset=utf-8 > >When you try to dislpay a bibliographic record on unimarc that has subjects >linked with authorities then only the $9 is displayed as link instead of the >content of $a and it's subdivisions, if any. > >To test: >1) You will need to have a bibliographic record with at least one subject >autority connected in unimarc framework. >2) View that record on OPAC on detail display. The subject will display as >a number ( $9 ) and you cannot see the text/term of the subject ( $a ) >3) Apply patch >4) Repeat step 2 >5) The subject display in a normal way based on content $a - or more subfields > >Sponsored-by: National Library of Greece >Signed-off-by: David Nind <david@davidnind.com> > >Bug 29539: (follow-up) remove tag_onesubject template > >Also: >Restores the <span class="value"> >Replaces "not(position()=last())" with the more used "position() != last()" >Removes unecessary change in <xsl:param name="spanclass" /> > >Signed-off-by: David Nind <david@davidnind.com> > >Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl> >--- > .../bootstrap/en/xslt/UNIMARCslimUtils.xsl | 107 ++++-------------- > 1 file changed, 22 insertions(+), 85 deletions(-) > >diff --git a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslimUtils.xsl b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslimUtils.xsl >index dc02e6fc8e..af643df958 100644 >--- a/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslimUtils.xsl >+++ b/koha-tmpl/opac-tmpl/bootstrap/en/xslt/UNIMARCslimUtils.xsl >@@ -374,89 +374,6 @@ > </xsl:for-each> > </xsl:template> > >- <xsl:template name="tag_onesubject"> >- <xsl:choose> >- <xsl:when test="marc:subfield[@code=9]"> >- <xsl:for-each select="marc:subfield"> >- <xsl:if test="@code='9'"> >- <xsl:variable name="start" select="position()"/> >- <xsl:variable name="ends"> >- <xsl:for-each select="../marc:subfield[position() > $start]"> >- <xsl:if test="@code=9"> >- <xsl:variable name="end" select="position() + $start"/> >- <xsl:value-of select="$end"/> >- <xsl:text>,</xsl:text> >- </xsl:if> >- </xsl:for-each> >- </xsl:variable> >- <xsl:variable name="end"> >- <xsl:choose> >- <xsl:when test="string-length($ends) > 0"> >- <xsl:value-of select="substring-before($ends,',')"/> >- </xsl:when> >- <xsl:otherwise> >- <xsl:text>1000</xsl:text> >- </xsl:otherwise> >- </xsl:choose> >- </xsl:variable> >- <xsl:variable name="display"> >- <xsl:for-each select="../marc:subfield[position() > $start and position() < $end and @code!=2 and @code!=3]"> >- <xsl:value-of select="."/> >- <xsl:if test="not(position()=last())"> >- <xsl:text>, </xsl:text> >- </xsl:if> >- </xsl:for-each> >- </xsl:variable> >- <a> >- <xsl:attribute name="href"> >- <xsl:text>/cgi-bin/koha/opac-search.pl?q=an:</xsl:text> >- <xsl:value-of select="str:encode-uri(., true())"/> >- </xsl:attribute> >- <xsl:choose> >- <xsl:when test="string-length($display) > 0"> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString"> >- <xsl:value-of select="$display"/> >- </xsl:with-param> >- </xsl:call-template> >- </xsl:when> >- <xsl:otherwise> >- <xsl:value-of select="."/> >- </xsl:otherwise> >- </xsl:choose> >- </a> >- <xsl:variable name="ncommas" >- select="string-length($ends) - string-length(translate($ends, ',', ''))" /> >- <xsl:if test="$ncommas > 1"> >- <xsl:text> -- </xsl:text> >- </xsl:if> >- </xsl:if> >- </xsl:for-each> >- </xsl:when> >- <xsl:when test="marc:subfield[@code='a']"> >- <a> >- <xsl:attribute name="href"> >- <xsl:text>/cgi-bin/koha/opac-search.pl?q=su:</xsl:text> >- <xsl:value-of select="str:encode-uri(marc:subfield[@code='a'], true())"/> >- </xsl:attribute> >- <xsl:call-template name="chopPunctuation"> >- <xsl:with-param name="chopString"> >- <xsl:call-template name="subfieldSelect"> >- <xsl:with-param name="codes">abcdfijkmnptvxyz</xsl:with-param> >- <xsl:with-param name="subdivCodes">ijknpxyz</xsl:with-param> >- <xsl:with-param name="subdivDelimiter">-- </xsl:with-param> >- </xsl:call-template> >- </xsl:with-param> >- </xsl:call-template> >- </a> >- </xsl:when> >- <xsl:otherwise/> >- </xsl:choose> >- <xsl:if test="not(position()=last())"> >- <xsl:text> | </xsl:text> >- </xsl:if> >- </xsl:template> >- > <xsl:template name="tag_subject"> > <xsl:param name="tag" /> > <xsl:param name="label" /> >@@ -469,8 +386,28 @@ > </span> > <span class="value"> > <xsl:for-each select="marc:datafield[@tag=$tag]"> >- <xsl:call-template name="tag_onesubject"> >- </xsl:call-template> >+ <a> >+ <xsl:choose> >+ <xsl:when test="marc:subfield[@code=9]"> >+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=an:<xsl:value-of select="str:encode-uri(marc:subfield[@code=9], true())"/></xsl:attribute> >+ </xsl:when> >+ <xsl:otherwise> >+ <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=su:<xsl:value-of select="str:encode-uri(marc:subfield[@code='a'], true())"/></xsl:attribute> >+ </xsl:otherwise> >+ </xsl:choose> >+ <xsl:call-template name="chopPunctuation"> >+ <xsl:with-param name="chopString"> >+ <xsl:call-template name="subfieldSelect"> >+ <xsl:with-param name="codes">abcdjptvxyz</xsl:with-param> >+ <xsl:with-param name="subdivCodes">jpxyz</xsl:with-param> >+ <xsl:with-param name="subdivDelimiter">-- </xsl:with-param> >+ </xsl:call-template> >+ </xsl:with-param> >+ </xsl:call-template> >+ </a> >+ <xsl:if test="position() != last()"> >+ <xsl:text> | </xsl:text> >+ </xsl:if> > </xsl:for-each> > </span> > </span> >-- >2.30.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 29539
:
155604
|
161262
|
161622
|
161768
|
161769
| 163191