Activer la prise en charge des gravatars sous Dotclear 2 Beta 7
Publié par Guillaume dans DotclearIl est de bon ton à l’heure actuelle d’afficher ses gravatars, avatars et autres subtilités sur son blog. Aussi, me suis-je dit que j’allais faire de même sur ce blog.N’ayant malheureusement pas réussi à utiliser le plugin Gravatar pour Dotclear2 , j’ai en revanche utilisé le code mis à disposition par son concepteur afin de parvenir à un résultat tout à fait honorable.
- J’ai donc ainsi créé une page “_public.php” (droits chmod 755) dans le répertoire de mes thèmes contenant le code suivant :
<?php$core->tpl->addValue('gravatar', array('gravatar', 'tplGravatar'));class gravatar { const URLBASE = 'http://www.gravatar.com/avatar.php?gravatar_id=%s&default=%s&size=%d', HTMLTAG = '<img src="%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 . '\'; ?>'; }}?>
- Il faut ensuite modifier le fichier “post.html” du template “default“.
Ci-dessous la partie de code de mon fichier modifié :<tpl:Comments><tpl:CommentsHeader> <dl> </tpl:CommentsHeader> <dt id="c{{tpl:CommentID}}" class="{{tpl:CommentIfMe}} {{tpl:CommentIfOdd}} {{tpl:CommentIfFirst}}"><a href="#c{{tpl:CommentID}}" class="comment-number">{{tpl:CommentOrderNumber}}.</a> {{tpl:gravatar class="gravatar_img" size="40" altimg="http://site.gravatar.com/images/common/top/logo.gif" alt="Gravatar de %s"}} {{tpl:lang On}} {{tpl:CommentDate}}, {{tpl:CommentTime}} {{tpl:lang by}} {{tpl:CommentAuthorLink}}</dt> <dd class="{{tpl:CommentIfMe}} {{tpl:CommentIfOdd}} {{tpl:CommentIfFirst}}">{{tpl:CommentContent}}</dd> <tpl:CommentsFooter> </dl> </tpl:CommentsFooter> </tpl:Comments>J’ai en fait rajouté dans le code original la portion suivante de code{{tpl:gravatar class="gravatar_img" size="40"altimg="http://site.gravatar.com/images/common/top/logo.gif"alt="Gravatar de %s"}}Une fois ces modifications effectuées, l’affichage des gravatars dans les commentaires est fonctionnel.


Articles (RSS)