Gravatar avec $plxShow->artAuthorEmail()
Haruka
PluXml Project Manager
dans Entraide et S.A.T
Bonjour,
Je souhaiterais afficher le gravatar de l'auteur d'un article à partir de son adresse configurée dans son profil.
Dans mon template j'utilise donc le code suivant :
Le problème c'est que l'avatar ne s'affiche pas car le hash calculé par $grav_url est différent du hash associé à l'adresse e-mail. Alors que si je remplace $plxShow->artAuthorEmail() par l'adresse mail en toute lettre le hash et le bon et l'avatar apparait.
Pourquoi il y a-t-il une différence entre le hash calculé avec $plxShow->artAuthorEmail() et le hash de l'adresse e-mail écrite en toute lettre ?
Je souhaiterais afficher le gravatar de l'auteur d'un article à partir de son adresse configurée dans son profil.
Dans mon template j'utilise donc le code suivant :
<?php $email = $plxShow->artAuthorEmail(); $default = "http://www.somewhere.com/homestar.jpg"; $size = 80; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; ?>
Le problème c'est que l'avatar ne s'affiche pas car le hash calculé par $grav_url est différent du hash associé à l'adresse e-mail. Alors que si je remplace $plxShow->artAuthorEmail() par l'adresse mail en toute lettre le hash et le bon et l'avatar apparait.
Pourquoi il y a-t-il une différence entre le hash calculé avec $plxShow->artAuthorEmail() et le hash de l'adresse e-mail écrite en toute lettre ?
0
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Utilise le code que j'ai mis dans le thème Mystique:
<img alt="Gravatar" src="http://www.gravatar.com/avatar.php?gravatar_id=<?php echo md5( strtolower($plxShow->plxMotor->plxRecord_coms->f('mail')) ) ?>&d=http://0.gravatar.com/avatar/29a258fbb2d69d21b675424f7bf8ae90?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=X" class="avatar" height='48' width='48' />J'ai réutilisé ton code, mais j'ai remplacé la méthode d'appel de l'adresse e-mail, car dans ton exemple tu récupères le mail de l'auteur d'un commentaire alors que moi j'avais besoin du mail de l'auteur de l'article.
J'utilise donc le code :
<img alt="Gravatar" src="http://www.gravatar.com/avatar.php?gravatar_id=<?php echo md5( strtolower($plxShow->plxMotor->aUsers[$plxShow->plxMotor->plxRecord_arts->f('author')]['email']) ) ?>&d=http://0.gravatar.com/avatar/29a258fbb2d69d21b675424f7bf8ae90?s=48&d=http%3A%2F%2F0.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D48&r=X" class="avatar" height='80' width='80' />Il aurait mieux valu passer par ob_start() et ob_get_clean() pour utiliser $plxShow->artAuthorEmail() et récupérer sa valeur.
Ce qui aurait donné :
<?php ob_start(); $plxShow->artAuthorEmail(); $email = ob_get_clean(); $default = "http://www.somewhere.com/homestar.jpg"; $size = 80; $grav_url = "http://www.gravatar.com/avatar/" . md5( strtolower( trim( $email ) ) ) . "?d=" . urlencode( $default ) . "&s=" . $size; ?>Quoi qu'il en soit, c'est le code de ton dernier post qu'il est préférable d'utiliser.