From 15978e10c4085b9f43e6350f41aed0621a1c27e1 Mon Sep 17 00:00:00 2001 From: Owen Leonard <oleonard@myacpl.org> Date: Wed, 24 Oct 2012 13:57:22 -0400 Subject: [PATCH] [SIGNED-OFF] Bug 8661 - break out additional authors in opac like in staff This patch takes the simple route of copying over the markup for displaying authors from the staff client XSL to the OPAC. Signed-off-by: Nicole C. Engard <nengard@bywatersolutions.com> --- .../prog/en/xslt/MARC21slim2OPACDetail.xsl | 90 +++++++++----------- 1 files 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.2.3