Magazine Internet

Afficher les Gravatars avec Dotclear 2

Publié le 26 juin 2007 par Avi Teboul

Je viens de modifier (encore) le code source de dotclear 2 pour afficher les gravatars (avatar associé a votre adresse mail) dans les commentaires ...


J'en profite pour montrer les codes nécessaires au cas ou ca vous tenterez :D

voici donc les manipulations a effectuées (réalisée par www.prendreuncafe.com )


Le code qui suit est a placer  un fichier _public.php  a la racine de votre dossier de template :

<?php
$core->tpl->addValue('gravatar', array('gravatar', 'tplGravatar'));
class gravatar {
const
URLBASE = 'http://www.gravatar.com/avatar.php?gravatar_id=%s&amp;default=%s&amp;size=%d',
HTMLTAG = '<img src="http://www.jarodxxx.com/index.php?post/2007/06/26/%s" class="%s" alt="%s" />',
DEFAULT_SIZE = '40',
DEFAULT_CLASS = 'gravatar_img',
DEFAULT_ALT = 'Gravatar de %s';
public static function tplGravatar($attr)
{
$md5mail = '\'.md5(strtolower($_ctx->comments->getEmail(false))).\'';
$size = array_key_exists('size', $attr) ? $attr['size'] : self::DEFAULT_SIZE;
$class = array_key_exists('class', $attr) ? $attr['class'] : self::DEFAULT_CLASS;
$alttxt = array_key_exists('alt', $attr) ? $attr['alt'] : self::DEFAULT_ALT;
$altimg = array_key_exists('altimg', $attr) ? $attr['altimg'] : '';
$gurl = sprintf(self::URLBASE,
$md5mail, urlencode($altimg), $size);
$gtag = sprintf(self::HTMLTAG,
$gurl, $class, eregi("%s", $alttxt) ?
sprintf($alttxt, '\'.$_ctx->comments->comment_author.\'') : $alttxt);
return '<?php echo \'' . $gtag . '\'; ?>';
}
}
?>

Du côté de votre template post.html  entre vos deux balises <tpl:Comments> et </tpl:Comments>, voila comment ça se passe :

{{tpl:gravatar class="gravatar_img" size="80" altimg="http://www.example.host/default_gravatar.png" alt="Gravatar de %s"}}

Je crois que les attributs sont assez parlants, mais en voici le détail au cas où :

  • class : le nom de la classe CSS à appliquer à l'image
  • size : la taille en pixels
  • alt : Le contenu du texte alternatif à l'image (acepte la syntaxe de sprintf)
  • altimg : L'url de l'image par defaut en l'absence de gravatar (sera url encodée automatiquement)

Retour à La Une de Logo Paperblog

A propos de l’auteur


Avi Teboul 600 partages Voir son profil
Voir son blog

l'auteur n'a pas encore renseigné son compte l'auteur n'a pas encore renseigné son compte

Dossier Paperblog

Magazine