Hi Fred,
The snippet you posted already has some "if" logic at the top, where it
checks for the presence of field 698.
You just need to wrap your <a> tags within a similar conditional block.
Inside your for-each loop, try changing
<a><xsl:attribute
name="href">/cgi-bin/koha/opac-search.pl?q=conference-name:"<xsl:value-of
select="marc:subfield[@code='c']"/>"</xsl:attribute><xsl:value-of
select="marc:subfield[@code='c']"/></a><xsl:text>, </xsl:text>
to
<xsl:if test="marc:subfield[@code='c']">
<a><xsl:attribute
name="href">/cgi-bin/koha/opac-search.pl?q=conference-name:"<xsl:value-of
select="marc:subfield[@code='c']"/>"</xsl:attribute><xsl:value-of
select="marc:subfield[@code='c']"/></a><xsl:text>, </xsl:text>
</xsl:if>
Minimalistic online example: http://xsltransform.net/naZXVFT
Kind regards,
Andreas
On 2023-02-21 00:52, King, Fred wrote:
Hi everyone,
I'm editing the OPAC detail xslt file to display some extra fields. What I have
now is this:
<xsl:if test="marc:datafield[@tag=698]">
<span class="results_summary conference">
<xsl:if test="marc:datafield[@tag=698]/@ind1=' '">
<span class="label">Conference: </span>
</xsl:if>
<xsl:for-each select="marc:datafield[@tag=698]">
<a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=conference-name:"<xsl:value-of
select="marc:subfield[@code='a']"/>"</xsl:attribute><xsl:value-of select="marc:subfield[@code='a']"/></a>
<a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=conference-name:"<xsl:value-of
select="marc:subfield[@code='c']"/>"</xsl:attribute><xsl:value-of select="marc:subfield[@code='c']"/></a>
<a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=conference-name:"<xsl:value-of
select="marc:subfield[@code='d']"/>"</xsl:attribute><xsl:value-of select="marc:subfield[@code='d']"/></a>
<a><xsl:attribute name="href">/cgi-bin/koha/opac-search.pl?q=conference-name:"<xsl:value-of
select="marc:subfield[@code='e']"/>"</xsl:attribute><xsl:value-of select="marc:subfield[@code='e']"/></a>
<xsl:if test="position()!=last()"><span class="separator"><xsl:text> |
</xsl:text></span></xsl:if>
</xsl:for-each>
</span>
</xsl:if>
Right now it appears on the details page as fieldafieldcfielddfielde. I'd like
to add a comma between the fields.
I tried adding <xsl:text>, </xsl:text>, but if there are fields a and e but no
c and d, for example, the OPAC display comes out as fielda, , , fielde.
Is there xsl for "if there's something in field c, then add a comma and a space,
otherwise don't put anything there" so I can have fielda, fielde? It seems as if
there ought to be one, but I haven't found it yet.
Cheers,
Fred King, MSLS, AHIP
Medical Librarian, MedStar Washington Hospital Center
fred.k...@medstar.net
202-877-6670
ORCID 0000-0001-5266-0279
MedStar Authors Catalog: http://medstarauthors.org
You know it's cold outside when you go outside and it's cold.
--NPS Twitter
----------------------------------------------------------------------
MedStar Health is a not-for-profit, integrated healthcare delivery system, the
largest in Maryland and the Washington, D.C., region. Nationally recognized for
clinical quality in heart, orthopedics, cancer and GI.
IMPORTANT: This e-mail (including any attachments) may contain information that
is private, confidential, or protected by attorney-client or other privilege.
If you received this e-mail in error, please delete it from your system without
copying it and notify sender by reply e-mail, so that our records can be
corrected... Thank you.
Help conserve valuable resources - only print this email if necessary.
_______________________________________________
Koha mailing list http://koha-community.org
Koha@lists.katipo.co.nz
Unsubscribe: https://lists.katipo.co.nz/mailman/listinfo/koha
_______________________________________________
Koha mailing list http://koha-community.org
Koha@lists.katipo.co.nz
Unsubscribe: https://lists.katipo.co.nz/mailman/listinfo/koha