Una de las cosas más importantes en los CMS actuales son los editores wysiwyg, que posibilitan la creación de contenidos sin tener que aprender el lenguaje de marcado html.
Joomla viene con el editor tinyMCE por defecto, aunque permite instalar más editores de terceros.
Vamos a ver cómo usar estos editores en nuestros componentes personalizados, para poder crear aplicaciones que generen contenido en formato html sin la necesidad de conocer este Gracias al api de Joomla, usar este editor en nuestros componentes se hace muy sencillo, para esto han implementado una clase llamada JEditor, la cual tiene todas las propiedades y metodos necesarios pasa interactuar con el editor.
El objeto de la clase JEditor lo obtendremos mediante el método estático getEditor() del objeto JFactory , el cual devuelve una instancia del editor que tiene el usuario actual asignado. El método getEditor devolvera el tipo de editor que este asignado en el backend de Joomla!, por defecto es tinyMCE, aunque existen otros, algunos muy buenos…
Vamos a ver el código necesario…
Pon este código en la vista de tu componente e imprimirá el editor.
El codigo html generado se almacena en un textare con nombre “nombreTextarea”.
En el task guardar puedes hacer lo que quieras con el contenido del textarea, lo más comun almacenarlo en una base de datos.
Vamos a ver los parámetros del método display del objeto JEditor:
display (string $name, string $html, string $width, string $height, int $col, int $row, [boolean $buttons = true], [array $params = array()])
- string $name: nombre del textarea
- string $html: contenido del text area
- string $width: anchura del textarea (px or %)
- int $col: numero de columnas del textarea
- int $row: numero de filas del textarea
- boolean $buttons: si es verdadero los botones del editor se mostrarán
- array $params: array asociativo con los parametros del editor
Sencillo , eh?