From 19d9a14bdbd75f828ca3441059e66897c4d7a258 Mon Sep 17 00:00:00 2001 From: Owen Leonard <oleonard@myacpl.org> Date: Wed, 24 Oct 2012 13:57:22 -0400 Subject: [PATCH] Bug 8661 - break out additional authors in opac like in staff Content-Type: text/plain; charset="utf-8" This patch takes the simple route of copying over the markup for displaying authors from the staff client XSL to the OPAC. --- .../prog/en/xslt/MARC21slim2OPACDetail.xsl | 90 +++++++++----------- 1 file changed, 42 insertions(+), 48 deletions(-) diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl index 7917c0b..73a5265 100644 --- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl +++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl @@ -137,16 +137,10 @@ </xsl:call-template> </h5> </xsl:if> - <xsl:choose> - <xsl:when test="marc:datafield[@tag=100] or marc:datafield[@tag=110] or marc:datafield[@tag=111] or marc:datafield[@tag=700] or marc:datafield[@tag=710] or marc:datafield[@tag=711]"> - <h5 class="author">by - <xsl:call-template name="showAuthor"> - <xsl:with-param name="authorfield" select="marc:datafield[@tag=100 or @tag=110 or @tag=111 or @tag=700 or @tag=710 or @tag=711]"/> - <xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/> - </xsl:call-template> - </h5> - </xsl:when> - </xsl:choose> + + <!-- Author Statement --> + <xsl:call-template name="showAuthor"><xsl:with-param name="authorfield" select="marc:datafield[@tag=100 or @tag=110 or @tag=111]"/><xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/></xsl:call-template> + <xsl:call-template name="showAuthor"><xsl:with-param name="authorfield" select="marc:datafield[@tag=700 or @tag=710 or @tag=711]"/><xsl:with-param name="UseAuthoritiesForTracings" select="$UseAuthoritiesForTracings"/></xsl:call-template> <xsl:if test="$DisplayOPACiconsXSLT!='0'"> <xsl:if test="$materialTypeCode!=''"> @@ -880,44 +874,43 @@ </xsl:template> <xsl:template name="showAuthor"> - <xsl:param name="authorfield" /> - <xsl:param name="UseAuthoritiesForTracings" /> + <xsl:param name="authorfield"/> + <xsl:param name="UseAuthoritiesForTracings"/> + <xsl:if test="count($authorfield)>0"> + <h5 class="author"> <xsl:for-each select="$authorfield"> - <xsl:choose><xsl:when test="position()!=1"><xsl:text>; </xsl:text></xsl:when></xsl:choose> - <xsl:choose> - <xsl:when test="not(@tag=111 or @tag=711)" /> - <xsl:when test="marc:subfield[@code='n']"> - <xsl:text> </xsl:text> - <xsl:call-template name="subfieldSelect"> - <xsl:with-param name="codes">n</xsl:with-param> - </xsl:call-template> - <xsl:text> </xsl:text> - </xsl:when> - </xsl:choose> - <a> - <xsl:choose> - <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> - <xsl:otherwise> - <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute> - </xsl:otherwise> - </xsl:choose> - <xsl:choose> - <xsl:when test="@tag=100 or @tag=700"><xsl:call-template name="nameABCDQ"/></xsl:when> - <xsl:when test="@tag=110 or @tag=710"><xsl:call-template name="nameABCDN"/></xsl:when> - <xsl:when test="@tag=111 or @tag=711"><xsl:call-template name="nameACDEQ"/></xsl:when> - </xsl:choose> - <!-- add relator code too between brackets--> - <xsl:if test="marc:subfield[@code='4' or @code='e']"> - <xsl:text>[</xsl:text> - <xsl:choose> - <xsl:when test="marc:subfield[@code=4]"><xsl:value-of select="marc:subfield[@code=4]"/></xsl:when> - <xsl:otherwise><xsl:value-of select="marc:subfield[@code='e']"/></xsl:otherwise> - </xsl:choose> - <xsl:text>]</xsl:text> - </xsl:if> - </a> + <xsl:choose> + <xsl:when test="position()>1"/> + <xsl:when test="@tag<700">Author(s): </xsl:when> + <xsl:otherwise>Additional author(s): </xsl:otherwise> + </xsl:choose> + <a> + <xsl:choose> + <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> + <xsl:otherwise> + <xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=au:<xsl:value-of select="marc:subfield[@code='a']"/></xsl:attribute> + </xsl:otherwise> + </xsl:choose> + <xsl:choose> + <xsl:when test="@tag=100 or @tag=700"><xsl:call-template name="nameABCDQ"/></xsl:when> + <xsl:when test="@tag=110 or @tag=710"><xsl:call-template name="nameABCDN"/></xsl:when> + <xsl:when test="@tag=111 or @tag=711"><xsl:call-template name="nameACDEQ"/></xsl:when> + </xsl:choose> + <!-- add relator code too between brackets--> + <xsl:if test="marc:subfield[@code='4' or @code='e']"> + <xsl:text>[</xsl:text> + <xsl:choose> + <xsl:when test="marc:subfield[@code=4]"><xsl:value-of select="marc:subfield[@code=4]"/></xsl:when> + <xsl:otherwise><xsl:value-of select="marc:subfield[@code='e']"/></xsl:otherwise> + </xsl:choose> + <xsl:text>]</xsl:text> + </xsl:if> + </a> + <xsl:choose> + <xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise> + </xsl:choose> <xsl:if test="marc:subfield[@code=9]"> <a class='authlink'> <xsl:attribute name="href">/cgi-bin/koha/opac-authoritiesdetail.pl?authid=<xsl:value-of select="marc:subfield[@code=9]"/></xsl:attribute> @@ -925,7 +918,8 @@ </a> </xsl:if> </xsl:for-each> - <xsl:text>.</xsl:text> + </h5> + </xsl:if> </xsl:template> <xsl:template name="nameABCDQ"> -- 1.7.9.5