Voilà, voilà... Fin de l'aventure...

 

Fermeture de kolossaldrupal.org dans...


Bonjour tout le monde,

Drupal évolue, les versions changent et Kolossaldrupal.org était essentiellement consacré à la version 6 de Drupal.

Autant dire que les infos présentées ici commencent à dater...

Faute de temps, je ne peux plus garder le site Kolossaldrupal à jour...

Je vous aurais bien proposé de reprendre le flambeau mais... c'est tellement simple de nos jours de se faire son propre site à soi...Pourquoi s'embêter alors ? :-)

Ce site restera donc en l'état, tel qu'il était en 2011...

Ah la la ! Cela ne nous rajeunit pas !

Manuel Vila - Avril 2016

Xiti et Drupal

Le code marqueur de Xiti ressemble à quelque chose comme ceci :

<a href="http://www.xiti.com/xiti.asp?s=XXXXXX" title="WebAnalytics" target="_top">
<script type="text/javascript">
<!--
Xt_param = 's=XXXXXX&p=';
try {Xt_r = top.document.referrer;}
catch(e) {Xt_r = document.referrer; }
Xt_h = new Date();
Xt_i = '<img width="39" height="25" border="0" alt="" ';
Xt_i += 'src="http://logv10.xiti.com/hit.xiti?'+Xt_param;
Xt_i += '&hl='+Xt_h.getHours()+'x'+Xt_h.getMinutes()+'x'+Xt_h.getSeconds();
if(parseFloat(navigator.appVersion)>=4)
{Xt_s=screen;Xt_i+='&r='+Xt_s.width+'x'+Xt_s.height+'x'+Xt_s.pixelDepth+'x'+Xt_s.colorDepth;}
document.write(Xt_i+'&ref='+Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$')+'" title="Internet Audience">');
//-->
</script>
<noscript>
Mesure d'audience ROI statistique webanalytics par <img width="39" height="25" src="http://logv10.xiti.com/hit.xiti?s=XXXXXX&p=" alt="WebAnalytics" />
</noscript></a>

Il est donc composé de HTML (qui appelle le logo, dans le cas de Xiti Free) et de JavaScript.

Pour l'insérer dans une page Drupal, il suffit de créer un bloc, en format d'entrée Full HTML, dans lequel on copiera le marqeur.

Mais avant cela, il faut désactiver la correction HTML dans le format d'entrée full HTML. Sinon, certains caractères des balises seront transformés en entités HTML (< deviendra &lt;) et le marqueur ne fonctionnera plus.

Pas à pas

  1. Aller dans le menu Administrer » Configuration du site » Formats d'entrée » puis cliquer sur Configurer du format Full HTML.
  2. Dans la section Filtres, décocher Correcteur HTML,
  3. Clic sur Enregistrer la configuration.
  4. Aller dans le menu  Administrer » Construction du site » Blocs,
  5. Clic sur Ajouter un bloc,
  6. Donner une description à votre bloc, mettons Xiti,
  7. Laisser le titre du bloc vide si vous ne voulez pas que le bloc affiche un titre,
  8. Dans le corps du bloc, coller le code du marqueur en provenance du site Xiti,
  9. Dans la section Format d'entrée, vérifier que vous avez bien Full HTML de coché,
  10. Cocher les autres paramètres comme bon vous semble puis clic sur Enregistrer le bloc.

Reste ensuite à configurer l'affichage du bloc : 

  1. Aller dans Administrer » Construction du site » Blocs,
  2. Dans la zone Désavtivé, aller chercher votre bloc Xiti et placez-le dans la région qui vous convient,
  3. Clic sur Enregistrer les blocs.

Ça y est !

Mais...

Vous ne voulez absolument pas vous passer de le correction HTML pour le format d'entrée Full HTML 

ou

Pour une raison inconnue, ça ne marche pas

Dans ce cas, vous avez deux possibilités : 

  1. chercher pourquoi ça ne marche pas,
  2. placer le code du marqueur Xiti dans le fichier page.tpl.php, qui est le gabarit de page de votre thème.

En cas de solution n° 2, pour faire les choses en conformité avec la Drupal way of life, vous ne devriez pas faire les modifications directement dans le fichier page.tpl.php mais surcharger ou dériver votre thème et placer les modifications dans le nouveau thème.

Je saute les étapes de surcharge (qui sont expliquées dans le Guide des thèmes de Drupal 6), ensuite l'insertion du code du marqueur Xiti est simplissime :

  1. Édition du fichier page.tpl.php,
  2. Aller en fin de fichier, juste avant la balise de fermeture </body>,
  3. Coller le code du marqueur,
  4. Sauvegarde du fichier page.tpl.php.

Renseigner la variable de page &p

Dans le code JavaScript, cette variable reçoit le nom de la page affichée. Si quelqu'un sait à quoi elle sert... Qu'il me le dise ! :-) En effet, même sans elle, Xiti a l'air tout à fait capable de récupérer le nom de la page affichée...

Dans le cas où vous utiliseriez cette variable, il faut veiller à ce que la valeur qu'elle reçoit ne comporte aucun caractère accentué. 

Xiti, dans la partie Fonctions programmées de son site, fournit une petite fonction qui se charge de nettoyer ces caractères indésirables et les remplace par leur équivalent non-accentué. Il faut bien évidemment ajouter cette fonction dans le bloc, ou dans le gabarit, qui reçoit le marqueur Xiti puis modifier le code du marqueur en conséquence :

Saisie dans le corps du bloc :

<?php
// Testé avec PHP 4.3.3
Function xtTraiter($nompage) { // xiti
     
$nompage strtolower($nompage);
     
$nompage strtr($nompage,"àâäáîïíôöóùûüéèêëçñ","aaaaiiiooouuueeeecn");
     
$nompage eregi_replace("[^a-z0-9_:~\\\/\-]","_",$nompage);
     return(
$nompage);
}
?>

puis

<a href="http://www.xiti.com/xiti.asp?s=XXXXXX" title="WebAnalytics" target="_top">
<script type="text/javascript">
<!--
Xt_param = 's=XXXXXX&p=<?php echo xtTraiter($title) ?>';
try {Xt_r = top.document.referrer;}
catch(e) {Xt_r = document.referrer; }
Xt_h = new Date();
Xt_i = '<img width="39" height="25" border="0" alt="" ';
Xt_i += 'src="http://logv10.xiti.com/hit.xiti?'+Xt_param;
Xt_i += '&hl='+Xt_h.getHours()+'x'+Xt_h.getMinutes()+'x'+Xt_h.getSeconds();
if(parseFloat(navigator.appVersion)>=4)
{Xt_s=screen;Xt_i+='&r='+Xt_s.width+'x'+Xt_s.height+'x'+Xt_s.pixelDepth+'x'+Xt_s.colorDepth;}
document.write(Xt_i+'&ref='+Xt_r.replace(/[<>"]/g, '').replace(/&/g, '$')+'" title="Internet Audience">');
//-->
</script>
<noscript>
Mesure d'audience ROI statistique webanalytics par <img width="39" height="25" src="http://logv10.xiti.com/hit.xiti?s=XXXXXX&p=<?php echo xtTraiter($title) ?>" alt="WebAnalytics" />
</noscript></a>

Avec cette fonction, j'ai constaté que les é étaient convertis en n au lieu de e. A cause de l'encodage de la page ?