WDD_replace: un plugin, des smileys et des galeries !

Depuis la réfection de Warriordudimanche.net, l'affichage des smileys est assuré par un plugin appliquant des règles de remplacement.

Avant de l'offrir en pâture à mes chers visiteurs, je voulais le tester assez longtemps. 

Puis, avec la série des auto_thumbs et auto_galerie, j'ai eu l'idée de perfectionner ce plugin en lui ajoutant la possibilité de créer une galerie d'image à partir d'une simple balise <galerie>...

 

Après travail et test, ben ça marche plutôt bien et c'est même paramétrable

 

 


Les hooks

Ce plugin crée plusieurs nouveaux hooks qui encadrent l'affichage du contenu de l'article et permettent de comprendre comment il agit:

  • WDD_replace_start (qui démarre simplement la mise en tampon)
  • WDD_replace_end: récupère le tampon et applique les rêgles de remplacement
  • WDD_replace_list: liste les remplacements disponibles (ici les smileys). Trois paramètres sont applicables:active_emotes (les smileys cliquables), emotes (smileys seuls), list (liste simple)
    Par exemple, pour afficher les emotes actifs des commentaires, voici le code utilisé sur WDD:
    <div class="list_emotes"><?php eval($plxShow->callHook('WDD_replace_list','active_emotes')); ?></div>

     

 

Les règles de remplacement se trouvent dans le fichier rules.php, sous forme d'un array('chaine à remplacer'=>'valeur de remplacement'); à noter que pour le chemin des images contenues dans le dossier du plugin, on utilise #PLUGINPATH# qui sera remplacé par le chemin du dossier du plugin.

 

$rule=array(
    ""=>"<img class=\"smile\" src=\"#PLUGINPATH#img/mdr.jpg\"/>",
    ""=>"<img class=\"smile\" src=\"#PLUGINPATH#img/mdr.jpg\"/>",
    ""=>"<img class=\"smile\" src=\"#PLUGINPATH#img/content.jpg\"/>",

etc.

 


La galerie

Je voulais que l'ajout d'une galerie soit aussi simple que l'utlisation des smileys: il fallait que le plugin détecte la balise à changer mais également les éventuels paramètres.

Ainsi, on pourra utiliser la balise <galerie> de la façon suivante:

// galerie simple (images proportionnelles, sans infos, sans titre, sans stylage css)
<galerie src="http://warriordudimanche.net/chemin/vers/le/dossier">

// galerie avec titre <galerie src="http://warriordudimanche.net/chemin/vers/le/dossier" title="Ma galerie qu'elle est trop bien">

// galerie avec images recadrées <galerie src="http://warriordudimanche.net/chemin/vers/le/dossier" crop="true">

// galeries affichant le nom et la taille des photos au survol <galerie src="http://warriordudimanche.net/chemin/vers/le/dossier" infos="true">

// galerie intégrant le stylage css <galerie src="http://warriordudimanche.net/chemin/vers/le/dossier" style="true">

// galerie avec la taille des images (par défaut 100x100) <galerie src="http://warriordudimanche.net/chemin/vers/le/dossier" width="150" height="150">

// on peut bien entendu utiliser plusieurs balises <galerie src="http://warriordudimanche.net/chemin/vers/le/dossier" width="150" height="150" infos="true" crop="true">


Un exemple

La galerie suivante est obtenue avec la balise: <galerie src="http://warriordudimanche.net/xxxx" infos="true" crop="true" width="150"height="150" title="Exemple de galerie avec titre">

(il faut bien entendu que le chemin et les droits d'accès soient corrects.)

 

Le zip et l'installation !

Le zip suivant contient le plugin tel qu'il est utilisé sur warriordudimanche (images, règles et galerie), il ne reste plus qu'à le télécharger puis le dézipper dans le dossier plugins.

Ensuite, il faut placer les hooks dans article.php,

eval($plxShow->callHook('WDD_replace_start'));       
$plxShow->artContent(); 
eval($plxShow->callHook('WDD_replace_end'));

commentaires.php,

eval($plxShow->callHook('WDD_replace_start'));
$plxShow->comContent();
eval($plxShow->callHook('WDD_replace_end',true));

categorie.php

eval($plxShow->callHook('WDD_replace_start'));
$plxShow->artChapo(); 
eval($plxShow->callHook('WDD_replace_end'));

...ainsi que dans d'autres pages pouvant afficher du contenu à modifier (archives.php, home.php etc)

Et c'est tout ...

 

❝ 3 commentaires ❞

1  achile le

doesn't work

 
2  Bronco le

C'est un peu court, jeune homme... on eu pu dire bien des choses en somme !
Accablé:«Vous me voyez consterné, il n'a point fonctionné !»
Grandiloquent:«Quelle tragédie, quel désespoir ! Son avenir me semble noir !»
Agressif:«Si je pondais une chose aussi dégueulasse,
il faudrait sur le champ que je m'en débarrasse !»
De tous les tons, mon préféré reste toujours ce dernier:
Précis: «j'ai fait ceci, j'ai fait cela, et cette erreur se manifesta...»


 
3  Triphon le

C'est drôle ces icones

 

Fil RSS des commentaires de cet article

✍ Écrire un commentaire

les commentaires relevant du SPAM seront filtrés et dégagés direct...

Quelle est le deuxième caractère du mot wg3heu ?