Okt
21

Der CLEditor

Vor einiger Zeit war ich auf der Suche nach einem WYSIWYG-Editor, der auf jQuery basiert, da ich dieses in meinem derzeitigen Projekt einsetze. Besonderes Augenmerk fiel dabei darauf, das dieser Editor schlank sein sollte und nicht so überlagert ist wie z.B. der TinyMCE. Es fand sich recht schnell der CLEditor.

Dieser beweist seine schlanke Linie, da er aus gerade einmal vier Dateien besteht. Die Icons sind alle in einem Sprite untergebracht was auch das Laden dieser  deutlich beschleunigt. Da er genauso einfach einzubinden war wie  er auch aufgebaut ist fiel meine Entscheidung auf diesen Editor. Er ist auch einfach erweiterbar durch Plugins. Diese werden in Form von JavaScript-Files eingebunden und können je nach Bedarf geladen werden.

Der Editor sagte mir so zu, dass ich direkt einen Decorator für Zend_Form gebaut habe, der den Editor für Textareas läd.

<?php

/**
 * Fügt dem Element das nötige JavaScript hinzu
 *
 * @uses		Zend_Form_Decorator_Abstract
 * @category    Suka
 * @package     Suka_Form
 * @subpackage	Decorator
 * @author      Denis Zunke <denis.zunke@zorta.de>;
 * @version     0.1
 * @copyright   2010 zorta.de
 * @license 	http://opensource.org/licenses/gpl-license.php GNU Public License v3
 */

class Suka_Form_Decorator_CLEditor extends Zend_Form_Decorator_Abstract
{
	public function render($content)
	{
		$element = $this->getElement();

		$output = ' <script type="text/javascript">
				      $(document).ready(function() {
				        $("#' . $element->getName() . '").cleditor();
				      });
				    </script>';

		$placement = $this->getPlacement();
		switch ($placement) {
            case (self::PREPEND):
                return $output . $separator . $content;
            case (self::APPEND):
            default:
                return $content . $separator . $output;
        }
	}
}

Kommentar schreiben