Gravatar è un servizio online gratuito che permette di creare un profilo utente, e di utilizzarlo sul web, per esempio quando scriviamo un commento su un sito, di fianco al nostro nome utente viene visualizzata la nostra immagine avatar caricata sul servizio Gravatar; questo servizio è molto utile (sui siti in cui è supportato) perchè ci permette di avere lo stesso identico avatar e di non dovere cambiare l’immagine del profilo su ogni sito su cui siamo registrati, utilissimo nel caso in cui siete articolisti di blog e a fondo articolo visualizzato il box con le informazioni autore.
In sintesi Gravatar permette di inserire la propria immagine di profilo e quindi di portarsela in giro per tutto il web, senza ogni volta doverla modificare, infatti è sufficiente modificarla sulla piattaforma stessa per vederla poi replicata in tutti i siti su cui si è partecipato, intelligente come cosa no ?
Bene, mentre in piattaforme come WordPress è già integrato questo tipo di servizio, in Joomla nativamente non esiste a meno di non ricorrere a qualche plugin, in K2 invece che è un CCK potentissimo per Joomla, non esiste proprio questa funzionalità, almeno nativamente, la buona notizia è che per integrarlo ci vuole veramente poco, vediamo subito come fare.
Come integrare Gravatar in K2
La prima cosa da è fare un ovverride del template di K2 , poi successivamente apriamo il file che contiene le informazioni che mostrano il box autore di K2 (ovviamente lo dovete attivare), il file in questione è item.php, e va modificato come segue.
A inizio file troverete questa parte di codice :
1 2 3 4 5 6 7 8 9 10 11 12 13 |
<?php /** * @version 2.6.x * @package K2 * @author JoomlaWorks http://www.joomlaworks.net * @copyright Copyright (c) 2006 - 2014 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html */ // no direct access defined('_JEXEC') or die; ?> |
Aggiungere questa nuova parte di codice appena sotto :
1 2 3 4 5 6 7 8 9 10 |
<?php $user = JFactory::getUser(); //get user $email = $user->email; // get user email address $email = trim( $user->email); $email = strtolower( $email ); // put email address in lowercase if it's in uppercase or capitalize ?> |
Ora indicativamente alla riga 402 dello stesso file troverete :
1 |
<img class="itemAuthorAvatar" src="<?php echo $this->item->author->avatar; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($this->item->author->name); ?>" /> |
Che va sostituita con questa :
1 |
<?php echo '<img src="http://www.gravatar.com/avatar/' .md5 ($email). ' /> ' ?> |
Ora salvate il file e ricopiatelo in FTP, a questo punto a video vedrete l’immagine dell’autore anche se nel profilo di K2 non è stata specificata.
Fate attenzione che con questa modifica se l’autore carica un’immagine nel profilo autore di K2, viene ignorata, per evitare ciò potete implementare un controllo di esistenza sul campo.
Analizziamo quello che ho fatto così da capirci di più.
Considerando che l’immagine di Gravatar viene mostrata sulla base dell’indirizzo email dell’autore, e che l’autore si è registrato al sito attraverso Joomla
Mi sono letto la documentazione di Gravatar qui https://it.gravatar.com/site/implement/hash/
Per “prelevare” l’immagine dell’utente dal sito di Gravatar ho bisogno di questi paramentri dell’indirizzo email dell’utente che si è registrato al sito Joomla, per fare ciò utilizzo le API di Joomla ed eseguo una piccola interrogazione :
JFactory::getUser() –> questa è l’API di Joomla
$user = JFactory::getUser(); –> sto comunicando al sistema che la variabile user è uguale all’interrogazione dell’API
$email = $user->email; –> qui invece gli dico che la variabile email è uguale all’interrogazione dell’API che preleva l’indirizzo email dell’utente registrato di Joomla
<img src=”http://www.gravatar.com/avatar/’ .md5 ($email). –> alla fine faccio un echo della variabile email e la cripto in md5, come suffisso inserisco l’url assoluto ed ottengo il Gravatar dell’utento connesso in Joomla.
Il risultato è simile a questo
Programmatore WordPress Esperto WooCommerce
Sono l’autore di questo blog con tanti trucchi e guide su WordPress e WooCommerce.