Ein einfacher Gravatar ViewHelper

In jedem Webprojekt gibt es Elemente, die mehrfach in einem Template vorkommen können. In der Regel sind das Boxen, die eine Fehler- oder Erfolgsmeldung zurückgeben, aber auch Gravatar-Ausgaben gehören zu den Dingen, die man immer mal wieder an verschiedenen Stellen eines Projektes gebrauchen kann.

Innerhalb des recht umfangreichen Zend Frameworks gibt es für solche Fälle bekanntlich die so genannten ViewHelper. Diese Klassen kapseln komplexe Ausgaben in einzelnen Methoden, so das diese mehrfach in der Ausgabe verwendet werden können.

Um mir die Ausgabe der Gravatare in einem unsere Kundenprojekte nun möglichst einfach zu gestalten, habe ich mir heute einen entsprechenden ViewHelper gebastelt.

Das ganze ist natürlich nix großes oder aufregendes, aber vielleicht kann der ein oder andere Einsteiger mit dem Snippet ja doch etwas anfangen.

/**
 * Simple Gravatar View Helper
 * 
 * @author Sascha Schoppengerd 
 * @copyright by MountainGrafix 
 */
class Zend_View_Helper_Gravatar extends Zend_View_Helper_Abstract {

    /**
     * @var string 
     */
    protected $_gravatarUrl  = "http://www.gravatar.com/avatar.php?";
	
    /**
     * @var string
     */
    protected $_defaultImage = "http://domain.com/image75x75.png";
	
    /**
     * Simple Gravatar View Helper
     * 
     * @param string $email
     * @param string $rating
     * @param integer $size
     * 
     * @return string
     */
    public function gravatar($email, $rating = 'G', $size = 48) {
		
        $params = array(
            'gravatar_id' => md5(strtolower($email)),
            'rating'      => $rating,
            'size'        => $size,
            'default'     => urlencode($this->_defaultImage)
        );
		
        return $this->_url . '?' . http_build_query($params, '', '&');
    }
}

Die Anwendung des ViewHelpers in der Ausgabe ist denkbar einfach:


Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.