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;
}
}
}
