From 28cd4a34dad3c33c54ef5725b3c485f42dd1c95e Mon Sep 17 00:00:00 2001 From: Chris Cormack <chrisc@catalyst.net.nz> Date: Mon, 15 Oct 2012 15:39:08 +1300 Subject: [PATCH] [SIGNED-OFF] Bug 8917 : Link tracking, changes to XSLT Signed-off-by: Bernardo Gonzalez Kriegel <bgkriegel@gmail.com> --- C4/XSLT.pm | 3 ++- koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt | 9 ++++--- .../prog/en/xslt/MARC21slim2OPACDetail.xsl | 15 ++++++++++- .../prog/en/xslt/MARC21slim2OPACResults.xsl | 27 ++++++++++++++++++-- 4 files changed, 46 insertions(+), 8 deletions(-) diff --git a/C4/XSLT.pm b/C4/XSLT.pm index 19ec162..29716c3 100644 --- a/C4/XSLT.pm +++ b/C4/XSLT.pm @@ -189,7 +189,8 @@ sub XSLTParse4Display { Display856uAsImage OPACDisplay856uAsImage UseControlNumber IntranetBiblioDefaultView BiblioDefaultView singleBranchMode - AlternateHoldingsField AlternateHoldingsSeparator / ) + AlternateHoldingsField AlternateHoldingsSeparator + TrackClicks / ) { my $sp = C4::Context->preference( $syspref ); next unless defined($sp); diff --git a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt index 7757c5b..ac5c0b7 100644 --- a/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt +++ b/koha-tmpl/opac-tmpl/prog/en/modules/opac-detail.tt @@ -718,13 +718,13 @@ YAHOO.util.Event.onContentReady("furtherm", function () { [% IF ( OPACurlOpenInNewWindow ) %] [% IF trackclicks == 'track' || trackclicks == 'anonymous' %] - <a href="/cgi-bin/koha/tracklinks.pl?uri=[% MARCurl.MARCURL |url%]" title="[% MARCurl.MARCURL %]" target="_blank"> + <a href="/cgi-bin/koha/tracklinks.pl?uri=[% MARCurl.MARCURL |url%]&biblionumber=[% biblionumber | url %]" title="[% MARCurl.MARCURL %]" target="_blank"> [% ELSE %] <a href="[% MARCurl.MARCURL %]" title="[% MARCurl.MARCURL %]" target="_blank"> [% END %] [% ELSE %] [% IF trackclicks == 'track' || trackclicks == 'anonymous' %] - <a href="/cgi-bin/koha/tracklinks.pl?uri=[% MARCurl.MARCURL |url%]" title="[% MARCurl.MARCURL %]"> + <a href="/cgi-bin/koha/tracklinks.pl?uri=[% MARCurl.MARCURL |url%]&biblionumber=[% biblionumber | url %]" title="[% MARCurl.MARCURL %]"> [% ELSE %] <a href="[% MARCurl.MARCURL %]" title="[% MARCurl.MARCURL %]"> [% END %] @@ -1490,11 +1490,12 @@ YAHOO.util.Event.onContentReady("furtherm", function () { [% IF ( itemdata_enumchron ) %]<td class="vol_info">[% ITEM_RESULT.enumchron %]</td>[% END %] [% IF ( itemdata_uri ) %]<td class="url"> [% IF trackclicks == 'track' || trackclicks == 'anonymous' %] - <a href="/cgi-bin/koha/tracklinks.pl?uri=[% ITEM_RESULT.uri | url %]"> Link to resource </a> + <a href="/cgi-bin/koha/tracklinks.pl?uri=[% ITEM_RESULT.uri | url %]&biblionumber=[% biblionumber |url %]&itemnumber=[% ITEM_RESULT.itemnumber | url %]"> Link to resource </a> [% ELSE %] <a href="[% ITEM_RESULT.uri %]">[% ITEM_RESULT.uri %]</a> [% END %] - [% END %] + </td> + [% END %] [% IF ( itemdata_uri ) %]<td class="url"><a href="[% ITEM_RESULT.uri %]">[% ITEM_RESULT.uri %]</a></td>[% END %] [% IF ( itemdata_copynumber ) %]<td class="copynumber">[% ITEM_RESULT.copynumber %]</td>[% END %] <td class="status">[% INCLUDE 'item-status.inc' item = ITEM_RESULT %]</td> diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl index 31cbb36..5130e8b 100644 --- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl +++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACDetail.xsl @@ -26,6 +26,8 @@ <xsl:variable name="UseAuthoritiesForTracings" select="marc:sysprefs/marc:syspref[@name='UseAuthoritiesForTracings']"/> <xsl:variable name="TraceSubjectSubdivisions" select="marc:sysprefs/marc:syspref[@name='TraceSubjectSubdivisions']"/> <xsl:variable name="Show856uAsImage" select="marc:sysprefs/marc:syspref[@name='OPACDisplay856uAsImage']"/> + <xsl:variable name="OPACTrackClicks" select="marc:sysprefs/marc:syspref[@name='TrackClicks']"/> + <xsl:variable name="biblionumber" select="marc:datafield[@tag=999]/marc:subfield[@code='c']"/> <xsl:variable name="TracingQuotesLeft"> <xsl:choose> <xsl:when test="marc:sysprefs/marc:syspref[@name='UseICU']='1'">{</xsl:when> @@ -550,7 +552,18 @@ <span class="results_summary online_resources"><span class="label">Online resources: </span> <xsl:for-each select="marc:datafield[@tag=856]"> <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable> - <a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> + <a> + <xsl:choose> + <xsl:when test="$OPACTrackClicks='track'"> + <xsl:attribute name="href">/cgi-bin/koha/tracklinks.pl?uri=<xsl:value-of select="marc:subfield[@code='u']"/>;biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute> + </xsl:when> + <xsl:when test="$OPACTrackClicks='anonymous'"> + <xsl:attribute name="href">/cgi-bin/koha/tracklinks.pl?uri=<xsl:value-of select="marc:subfield[@code='u']"/>;biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> + </xsl:otherwise> + </xsl:choose> <xsl:if test="$OPACURLOpenInNewWindow='1'"> <xsl:attribute name="target">_blank</xsl:attribute> </xsl:if> diff --git a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl index cdc803e..1b84d79 100644 --- a/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl +++ b/koha-tmpl/opac-tmpl/prog/en/xslt/MARC21slim2OPACResults.xsl @@ -28,6 +28,7 @@ <xsl:variable name="AlternateHoldingsSubfields" select="substring(marc:sysprefs/marc:syspref[@name='AlternateHoldingsField'], 4)"/> <xsl:variable name="AlternateHoldingsSeparator" select="marc:sysprefs/marc:syspref[@name='AlternateHoldingsSeparator']"/> <xsl:variable name="singleBranchMode" select="marc:sysprefs/marc:syspref[@name='singleBranchMode']"/> + <xsl:variable name="OPACTrackClicks" select="marc:sysprefs/marc:syspref[@name='TrackClicks']"/> <xsl:variable name="leader" select="marc:leader"/> <xsl:variable name="leader6" select="substring($leader,7,1)"/> <xsl:variable name="leader7" select="substring($leader,8,1)"/> @@ -949,7 +950,18 @@ <xsl:for-each select="marc:datafield[@tag=856]"> <xsl:variable name="SubqText"><xsl:value-of select="marc:subfield[@code='q']"/></xsl:variable> <xsl:if test="$OPACURLOpenInNewWindow='0'"> - <a><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> + <a> + <xsl:choose> + <xsl:when test="$OPACTrackClicks='track'"> + <xsl:attribute name="href">/cgi-bin/koha/tracklinks.pl?uri=<xsl:value-of select="marc:subfield[@code='u']"/>;biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute> + </xsl:when> + <xsl:when test="$OPACTrackClicks='anonymous'"> + <xsl:attribute name="href">/cgi-bin/koha/tracklinks.pl?uri=<xsl:value-of select="marc:subfield[@code='u']"/>;biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> + </xsl:otherwise> + </xsl:choose> <xsl:choose> <xsl:when test="($Show856uAsImage='Results' or $Show856uAsImage='Both') and (substring($SubqText,1,6)='image/' or $SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')"> <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="alt"><xsl:value-of select="marc:subfield[@code='y']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text> @@ -973,7 +985,18 @@ </a> </xsl:if> <xsl:if test="$OPACURLOpenInNewWindow='1'"> - <a target='_blank'><xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> + <a target='_blank'> + <xsl:choose> + <xsl:when test="$OPACTrackClicks='track'"> + <xsl:attribute name="href">/cgi-bin/koha/tracklinks.pl?uri=<xsl:value-of select="marc:subfield[@code='u']"/>;biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute> + </xsl:when> + <xsl:when test="$OPACTrackClicks='anonymous'"> + <xsl:attribute name="href">/cgi-bin/koha/tracklinks.pl?uri=<xsl:value-of select="marc:subfield[@code='u']"/>;biblionumber=<xsl:value-of select="$biblionumber"/></xsl:attribute> + </xsl:when> + <xsl:otherwise> + <xsl:attribute name="href"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute> + </xsl:otherwise> + </xsl:choose> <xsl:choose> <xsl:when test="($Show856uAsImage='Results' or $Show856uAsImage='Both') and ($SubqText='img' or $SubqText='bmp' or $SubqText='cod' or $SubqText='gif' or $SubqText='ief' or $SubqText='jpe' or $SubqText='jpeg' or $SubqText='jpg' or $SubqText='jfif' or $SubqText='png' or $SubqText='svg' or $SubqText='tif' or $SubqText='tiff' or $SubqText='ras' or $SubqText='cmx' or $SubqText='ico' or $SubqText='pnm' or $SubqText='pbm' or $SubqText='pgm' or $SubqText='ppm' or $SubqText='rgb' or $SubqText='xbm' or $SubqText='xpm' or $SubqText='xwd')"> <xsl:element name="img"><xsl:attribute name="src"><xsl:value-of select="marc:subfield[@code='u']"/></xsl:attribute><xsl:attribute name="alt"><xsl:value-of select="marc:subfield[@code='y']"/></xsl:attribute><xsl:attribute name="height">100</xsl:attribute></xsl:element><xsl:text></xsl:text> -- 1.7.9.5