Formatage des commentaires dans Dotclear
Par NiKo le lundi 16 mai 2005, 15:41 - Dotclear - Lien permanent
Voici une fonction qui permet de formater de manière aléatoire la chaîne de caractère annonçant un commentaire, dans un billet Dotclear. C'est bien évidemment inutile, même pas indispensable du tout, mais c'est rigolo, ça rappelle les fonctions de certains newsreaders et fait flotter un léger parfum d'Usenet pas désagréable du tout 
A rajouter dans le fichier prepend.php du thème courant :
/** * @function dcPrintWasSaying * * Cette fonction affiche un formatage particulier de la date, de l'heure et du nom * de l'auteur d'un commentaire. Vous pouvez ajouter de nouvelles formulations * en ajoutant de nouvelles entree au tableau $strs, en respectant les aliases suivants : * * %1$s : la date du commentaire * %2$s : l'heure du commentaire * %3$s : le nom du commentateur, eventuellement lie vers son site internet * */ function dcPrintWasSaying() { $strs = array ( 'Le %1$s à %2$s, <strong>%3$s</strong> nous narrait', 'Inspiré, <strong>%3$s</strong> nous expliquait le %1$s à %2$s', 'Le %1$s à %2$s, <strong>%3$s</strong> nous lançait ces quelques mots', 'Le %1$s, <strong>%3$s</strong> déclamait (vers %2$s)' ); $date = utf8_decode($GLOBALS['comments']->getLDate()); $time = utf8_decode($GLOBALS['comments']->getLTime()); if (($link = $GLOBALS['comments']->auteurSite()) !== false) { $auth = sprintf('<a href="%1$s">%2$s</a>', $link,$GLOBALS['comments']->f('comment_auteur')); } else { $auth = $GLOBALS['comments']->f('comment_auteur'); } $out = sprintf($strs[rand(0, count($strs) - 1)], $date, $time, $auth); echo dc_encoding == 'UTF-8' ? utf8_encode($out) : $out; }
Note : Vous êtes bien evidemment invité à enrichir les quatres phrases d'exemple avec vos propres tournures 
Edit :
Suite à la survenue du mois d'août (comme quoi, tout arrive), on m'a fait remarqué un problème d'encodage des caractères dans les dates. C'est desormais résolu et le code ci-dessus a été modifié en conséquence 



















Commentaires
1. Le lundi 16 mai 2005, 15:48 par Bastien
2. Le lundi 16 mai 2005, 15:50 par NiKo
3. Le lundi 16 mai 2005, 16:54 par geoffrey
4. Le lundi 16 mai 2005, 16:58 par Kaguo
5. Le lundi 16 mai 2005, 19:20 par UrukHai
6. Le lundi 16 mai 2005, 21:30 par Womby
7. Le mercredi 18 mai 2005, 19:03 par Ludovic
8. Le jeudi 19 mai 2005, 09:27 par Nico