Bug 20910: Display 773$g when $0 is present too
authorTomas Cohen Arazi <tomascohen@theke.io>
Mon, 11 Jun 2018 14:34:22 +0000 (11:34 -0300)
committerNick Clemens <nick@bywatersolutions.com>
Tue, 9 Oct 2018 11:07:46 +0000 (11:07 +0000)
This patch makes the XSLT logic add the $g subfield in the 773 display
in both the OPAC and staff interface MARC21 record detail pages.

The XSLT chooses between different ways to create the link for the
related content, but then it only adds the $g in two of the cases.
There's no obvious reason for a different display.

To test:
- Have  a record with:

=773   $tHost title $gp4.

=> SUCCESS: Notice the Detail view shows:
  In: Host title p4.

- Have another record with:

=773   $tHost title $gp4. $w100
- Enable UseControlNumber (only to cover the case):
=> SUCCESS: Notice the detail view shows
  In: Host title p4.

- Have another record with:

=773   $tHost title $gp4. $0456

=> FAIL: The Detail view doesn't show p4.
- Apply this patch
- Reload
=> SUCCESS: The Detail view displays p4.!
- Sign off :-D

Sponsored-by: Escuela de Orientacion Lacaniana
Signed-off-by: Jesse Maseto <jesse@bywatersolutions.com>
Signed-off-by: Julian Maurice <julian.maurice@biblibre.com>
Signed-off-by: Nick Clemens <nick@bywatersolutions.com>
koha-tmpl/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
koha-tmpl/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl

index 9727767..c2c9cb9 100644 (file)
                     <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=Control-number:<xsl:call-template name="extractControlNumber"><xsl:with-param name="subfieldW" select="marc:subfield[@code='w']"/></xsl:call-template></xsl:attribute>
                         <xsl:value-of select="translate($f773, '()', '')"/>
                     </a>
-                    <xsl:if test="marc:subfield[@code='g']"><xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/></xsl:if>
                 </xsl:when>
                 <xsl:when test="marc:subfield[@code='0']">
                     <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/detail.pl?biblionumber=<xsl:value-of select="marc:subfield[@code='0']"/></xsl:attribute>
                     <a><xsl:attribute name="href">/cgi-bin/koha/catalogue/search.pl?q=ti,phr:<xsl:value-of select="translate($f773, '()', '')"/></xsl:attribute>
                         <xsl:value-of select="$f773"/>
                     </a>
-                    <xsl:if test="marc:subfield[@code='g']"><xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/></xsl:if>
                 </xsl:otherwise>
             </xsl:choose>
+            <xsl:if test="marc:subfield[@code='g']">
+                <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
+            </xsl:if>
+
         </span>
 
         <xsl:if test="marc:subfield[@code='n']">
index 9e23047..196d709 100644 (file)
                     <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=Control-number:<xsl:call-template name="extractControlNumber"><xsl:with-param name="subfieldW" select="marc:subfield[@code='w']"/></xsl:call-template></xsl:attribute>
                         <xsl:value-of select="translate($f773, '()', '')"/>
                     </a>
-                    <xsl:if test="marc:subfield[@code='g']"><xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/></xsl:if>
                 </xsl:when>
                 <xsl:when test="marc:subfield[@code='0']">
                     <a><xsl:attribute name="href">/cgi-bin/koha/opac-detail.pl?biblionumber=<xsl:value-of select="marc:subfield[@code='0']"/></xsl:attribute>
                     <a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=ti,phr:<xsl:value-of select="translate($f773, '()', '')"/></xsl:attribute>
                         <xsl:value-of select="$f773"/>
                     </a>
-                    <xsl:if test="marc:subfield[@code='g']"><xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/></xsl:if>
                 </xsl:otherwise>
             </xsl:choose>
+            <xsl:if test="marc:subfield[@code='g']">
+                <xsl:text> </xsl:text><xsl:value-of select="marc:subfield[@code='g']"/>
+            </xsl:if>
         </span>
 
         <xsl:if test="marc:subfield[@code='n']">