Infobidouille

Patch Dotclear : intégration de AddThis

AddThis est un service gratuit permettant d’ajouter à un site web un bouton dynamique offrant aux visiteurs différentes possibilités d’ajouter la page à leurs favoris ou de la partager avec leurs contacts. Voici une solution pour l’intégrer à Dotclear.

Mise à jour du 18/10/2010 :

AddThis propose depuis quelques temps une nouvelle API permettant l’intégration du bouton dans un blog de façon beaucoup plus simple. Désormais, plus besoin de toucher au code de Dotclear, il suffit d’ajouter quelques lignes dans les fichiers du thème

Dans le fichier _footer.html :

Dans les autres fichiers .html de votre thème, en choisissant l’emplacement qui vous convient le mieux :

Billet original du 19/07/2009 :

En effet, l’intégration à Dotclear n’est pas triviale : le bouton AddThis utilise du JavaScript, ce qui nécessite de lui fournir le titre des posts sous forme « échappée » (c’est-à-dire avec les caractères ‘ remplacés par ‘, le ‘ étant le marqueur de fin de chaîne en JavaScript).

Pour cela, nous allons modifier le fichier inc/public/class.dc.template.php pour ajouter une nouvelle balise de template, baptisée EscapedEntryTitle, qui retournera la même chose que la balise EntryTitle existante, mais en version échappée.

Tout d’abord, il faut déclarer cette nouvelle balise, en dupliquant la ligne 167 et en modifiant la copie pour déclarer le nouveau nom :

Il faut ensuite définir la fonction générant la valeur de la balise. Pour cela, nous allons à nouveau dupliquer le code gérant la balise EntryTitle (lignes 1683 à 1691) en adaptant le code pour cette nouvelle balise, c’est-à-dire en ajoutant un appel à la fonction addslashes() de PHP :

Il ne reste plus qu’à insérer le code AddThis dans les fichiers .html de votre thème, en choisissant l’emplacement qui vous convient le mieux :

Attention : pensez bien à renseigner votre login AddThis à la seconde ligne.

Pour appliquer ce patch, déposez le à la racine de votre installation Dotclear puis ouvrez une console sur votre serveur, positionnez vous à la racine de votre installation Dotclear et tapez la commande suivante :

Vous pourrez ensuite rétablir la version non patchée avec cette commande :