Il y a 389 articles et 19 utilisateurs inscrits (ce bandeau est défini dans MediaWiki:Sitenotice)
Matomo/Pleade/XSLT
Aller à la navigation
Aller à la recherche
Matomo/Pleade/XSLT
[modifier | modifier le wikicode]Principe
[modifier | modifier le wikicode]Dans Pleade, il est souvent pratique d'exposer dans le HTML les données
métier nécessaires au tracking via des attributs data-* générés par XSLT.
Exemple : page de résultats
[modifier | modifier le wikicode]<body
data-search-term="{normalize-space($query)}"
data-search-results="{count($results/result)}">
</body>
Exemple : résultat individuel
[modifier | modifier le wikicode]<xsl:for-each select="$results/result">
<div class="search-result">
<a href="{@href}"
data-doc-id="{@id}"
data-cote="{@cote}">
<xsl:value-of select="title"/>
</a>
</div>
</xsl:for-each>
Exemple : page document
[modifier | modifier le wikicode]<body
data-doc-id="{$docId}"
data-cote="{$cote}"
data-doc-type="{$docType}">
</body>
Injection d'un script XSLT minimal
[modifier | modifier le wikicode]<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function () {
var body = document.body;
var docId = body.getAttribute('data-doc-id');
var cote = body.getAttribute('data-cote');
if (docId && window._paq) {
_paq.push(['trackEvent', 'Document', 'Consultation', cote || docId]);
}
});
</script>
Bonne pratique
[modifier | modifier le wikicode]Éviter d'écrire toute la logique Matomo dans le XSLT. Le plus robuste est :
- XSLT pour produire les données dans le HTML
- JavaScript dédié pour envoyer les événements