[Koha-bugs] [Bug 21472] New: Links in Additional Formats section of bib details do not work

bugzilla-daemon at bugs.koha-community.org bugzilla-daemon at bugs.koha-community.org
Tue Oct 2 17:16:43 CEST 2018


https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=21472

            Bug ID: 21472
           Summary: Links in Additional Formats section of bib details do
                    not work
 Change sponsored?: ---
           Product: Koha
           Version: 18.05
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P5 - low
         Component: Searching
          Assignee: koha-bugs at lists.koha-community.org
          Reporter: paul at flo.org
        QA Contact: testopia at bugs.koha-community.org

The links that appear under the heading Additional Formats, built using data
from 776 fields, are hardcoded to be like this in the OPAC:

    /cgi-bin/koha/opac-search.pl?q=control-number:__________

And like this in the staff interface:

    /cgi-bin/koha/catalogue/search.pl?q=control-number:__________

The blanks are filled in with the contents of the 776 field, subfield $w, with
any parenthesized organization code stripped.  Thus, for example, a 776 field
like this:

    776 08 $i Online version: [...] $z 9781938168000 $w (OCoLC)895896190

Would yield a staff URL like this:

    /cgi-bin/koha/opac-search.pl?q=control-number:895896190

But that link won't work, at least not in our case; control numbers found in
035 $a are indexed as other-control-number, not control-number, and the
organization code is not stripped when indexing.  However, a link like this
does retrieve the bib record with the 776 field given above:

   
/cgi-bin/koha/catalogue/search.pl?idx=other-control-number,phr&q=(OCoLC)895896190

These links are built in
/usr/share/koha/opac/htdocs/opac-tmpl/bootstrap/en/xslt/MARC21slim2OPACDetail.xsl
(lines 808 ff.) and
/usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/xslt/MARC21slim2intranetDetail.xsl
(lines 756 ff.); for example, the latter looks like this:

    <!-- MARC21 776 Additional Physical Form Entry -->
        <xsl:if test="marc:datafield[@tag=776]">
            <span class="results_summary add_physical_form">
                <span class="label">Additional physical formats: </span>
                <xsl:for-each select="marc:datafield[@tag=776]">
                    <xsl:variable name="linktext">
                        <xsl:choose>
                        <xsl:when test="marc:subfield[@code='t']">
                            <xsl:value-of select="marc:subfield[@code='t']"/>
                        </xsl:when>
                        <xsl:when test="marc:subfield[@code='a']">
                            <xsl:value-of select="marc:subfield[@code='a']"/>
                        </xsl:when>
                        <xsl:otherwise>
                            <xsl:text>No title</xsl:text>
                        </xsl:otherwise>
                        </xsl:choose>
                    </xsl:variable>
                    <xsl:if test="@ind2=8 and marc:subfield[@code='i']">
                        <xsl:call-template name="subfieldSelect">
                            <xsl:with-param name="codes">i</xsl:with-param>
                        </xsl:call-template>
                        <xsl:text>: </xsl:text>
                    </xsl:if>
                    <xsl:choose>
                    <xsl:when test="marc:subfield[@code='w']">
                        <a>
                        <xsl:attribute name="href">
                           
<xsl:text>/cgi-bin/koha/catalogue/search.pl?q=control-number:</xsl:text>
                            <xsl:call-template name="extractControlNumber">
                                <xsl:with-param name="subfieldW">
                                    <xsl:value-of
select="marc:subfield[@code='w']"/>
                                </xsl:with-param>
                            </xsl:call-template>
                        </xsl:attribute>
                        <xsl:value-of select="$linktext"/>
                        </a>
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:value-of select="$linktext"/>
                    </xsl:otherwise>
                    </xsl:choose>
                    <xsl:if test="position() != last()">
                        <xsl:text>; </xsl:text>
                    </xsl:if>
                </xsl:for-each>
            </span>
        </xsl:if>

The template "extractControlNumber" extracts the control number (minus
parenthesized prefix) from the value in 776 $w.  Unfortunately, this template
is used elsewhere so I'm not sure it's safe to change it so that it does *not*
strip the parenthesized prefix.  Perhaps we could add a second parameter to it
that specifies whether or not to strip it, with the default set to true.

-- 
You are receiving this mail because:
You are watching all bug changes.
You are the assignee for the bug.


More information about the Koha-bugs mailing list