Bug 7845: Multiple 260s don't display properly in search results

Corrects display for multiple 260 fields in intranet and OPAC.
In intranet the order of fields was wrong on the detail page.
In OPAC and intranet punctuation for multiple 260 fields in the
result list was not displaying properly.

Example after correction:
Publisher: Jena : Elsevier, 1907 ; Stuttgart : Franckh, 1907-1992 ; Jena : Urban & Fischer, 1993-2003

Signed-off-by: Chris Cormack <chrisc@catalyst.net.nz>
This commit is contained in:
Katrin Fischer 2012-04-09 17:44:38 +02:00 committed by Paul Poulain
parent 5958ec3e96
commit d8aa557fc9
4 changed files with 53 additions and 14 deletions

View File

@ -296,10 +296,16 @@
<xsl:with-param name="label">Publisher: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=260]">
<span class="results_summary publisher"><span class="label">Publisher: </span>
<xsl:for-each select="marc:datafield[@tag=260]">
<xsl:if test="marc:subfield[@code='a']">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">a</xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:if test="marc:subfield[@code='b']">
<a href="/cgi-bin/koha/catalogue/search.pl?q=pb:{marc:subfield[@code='b']}">
<xsl:call-template name="subfieldSelect">
@ -311,11 +317,11 @@
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">acg</xsl:with-param>
<xsl:with-param name="codes">cg</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
<xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
</span>
</xsl:if>

View File

@ -769,14 +769,30 @@
</xsl:if>
<xsl:if test="marc:datafield[@tag=260]">
<span class="results_summary">
<span class="label">Publisher: </span>
<span class="results_summary publisher"><span class="label">Publisher: </span>
<xsl:for-each select="marc:datafield[@tag=260]">
<xsl:if test="marc:subfield[@code='a']">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">abcg</xsl:with-param>
<xsl:with-param name="codes">a</xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:if test="marc:subfield[@code='b']">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">b</xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">cg</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
<xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
</span>
</span>
</xsl:if>
<!-- Other Title Statement: Alternate Graphic Representation (MARC 880) -->

View File

@ -310,8 +310,9 @@
<xsl:if test="marc:subfield[@code='a']">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">a</xsl:with-param>
</xsl:call-template>&nbsp;
</xsl:call-template>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:if test="marc:subfield[@code='b']">
<a href="/cgi-bin/koha/opac-search.pl?q=pb:{marc:subfield[@code='b']}">
<xsl:call-template name="subfieldSelect">
@ -327,7 +328,7 @@
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
<xsl:choose><xsl:when test="position()=last()"><xsl:text>.</xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
<xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
</span>
</xsl:if>

View File

@ -871,16 +871,32 @@
<xsl:with-param name="label">Publisher: </xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:if test="marc:datafield[@tag=260]">
<span class="results_summary">
<span class="label">Publisher: </span>
<span class="results_summary publisher"><span class="label">Publisher: </span>
<xsl:for-each select="marc:datafield[@tag=260]">
<xsl:if test="marc:subfield[@code='a']">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">abcg</xsl:with-param>
<xsl:with-param name="codes">a</xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:if test="marc:subfield[@code='b']">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">b</xsl:with-param>
</xsl:call-template>
</xsl:if>
<xsl:text> </xsl:text>
<xsl:call-template name="chopPunctuation">
<xsl:with-param name="chopString">
<xsl:call-template name="subfieldSelect">
<xsl:with-param name="codes">cg</xsl:with-param>
</xsl:call-template>
</xsl:with-param>
</xsl:call-template>
<xsl:choose><xsl:when test="position()=last()"><xsl:text></xsl:text></xsl:when><xsl:otherwise><xsl:text>; </xsl:text></xsl:otherwise></xsl:choose>
</xsl:for-each>
</span>
</span>
</xsl:if>
<!-- Other Title Statement: Alternate Graphic Representation (MARC 880) -->