Petit retour sur une implémentation du marqueur phpMyVisites.
Introduction
L’implémentation basique du marqueur n’affiche que des stats de visites basées sur l’url, nous avons essayé d’aller plus loin en reconstituant la hiérarchie des rubriques et articles SPIP, chose possible via le paramtre « pagename » du marqueur.
Gestion de l’arborescence
Au début de la page un include permet d’inclure le chemin du fichier :
<INCLURE{fond=chemin}{id_rubrique}{noeud=#TITRE}>
il y a 2 paramètres :
- pour les éléments de hiérarchie envoyer l’ « id_rubrique »
- le paramètre « noeud » permet de passer un titre quelconque (article, plan de site, contact ...)
Le squelette inclus « chemin » contient au minimum le code ci dessous
<script type="text/javascript">
<!--
var pagename=<BOUCLE_hierarchie2(HIERARCHIE){0,n}{tout}{id_rubrique}>['(#TITRE|supprimer_numero|texte_script)/'+]</BOUCLE_hierarchie2>'[(#ENV{noeud}|supprimer_numero|texte_script)]';
//-->
</script>
Détail du code : le chemin inclus dans la variable pagename est découpé en tronçons de javascript à cause de la limite de longueur des chaînes de Firefox (sans cela cela provoque une erreur javascript).
Complément possible : Cet include peut aussi générer le « fil d’ariane » du squelette à partir d’une boucle quasi identique.
<a href="sommaire.php3">Accueil</a>
<BOUCLE_hierarchie(HIERARCHIE){0,n}{tout}{id_rubrique}>
[ > <a[ href="(#URL_RUBRIQUE)"]>(#TITRE|supprimer_numero)</a>]
</BOUCLE_hierarchie>
[ > (#ENV{noeud}|supprimer_numero)]
[*Ce code doit toujours figurer dans la page avant le marqueur lui même*] afin que le javascript du marqueur puisse lire la valeur du chemin.
[(! Attention le pagename doit toujours exister même à vide donc s’il n’y a pas d’inclusion du fichier chemin laisser dans la page un bout de code initialisant la variable javascript.)]
<script type="text/javascript">
<!--
var pagename=' ';
//-->
</script>
Le marqueur en pied de page
Enfin le pied de page inclus le marqueur phpMyVisites standard. à prendre en cliquant sur le lien javascript à intégrer dans la page d’admin du site sur phpmyvisite. Ensuite [*penser à commenter la ligne var pagename =*] pour ne pas écraser l’arborescence du chemin définie plus haut dans la page.
Idéalement mettre le pied de page dans un include à cache longue durée et sans paramètre ce code est statique
Exemple de javascript, à personnaliser en fonction de l’url de son serveur phpmyvisite (http://monserveur/phpMyVisites/) et de l’id du site à mesurer (phpmyvisitesSite = 3)
<!-- phpmyvisites -->
<a href="http://www.phpmyvisites.net/" title="phpMyVisites | Open source web analytics"
onclick="window.open(this.href);return(false);">
<script type="text/javascript">
<!--
var a_vars = Array();
//var pagename='';
var phpmyvisitesSite = 3;
var phpmyvisitesURL = "http://monserveur/phpMyVisites/phpmyvisites.php";
//-->
</script>
<script language=javascript src="http://monserveur/phpMyVisites/phpmyvisites.js" type="text/javascript"></script>
<noscript>
<p>phpMyVisites | Open source web analytics
<img src="http://monserveur/phpMyVisites/phpmyvisites.php" alt="phpMyVisites" style="border:0" />
</p>
</noscript>
</a>
<!-- /phpmyvisites -->
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |