martes, 24 de febrero de 2009

FCKEditor con Lipsiadmin en Rails

Con FCKEditor se puede añadir un área de texto con formato de forma rápida y sencilla. Lipsiadmin usa Ext para la presentación de pantalla, aunque no para el contenido, por lo que se puede usar sobre HTML y Javascript. La configuración que me ha funcionado es la siguiente:

En backend/base/index.html.haml, antes de =javascript_include_tag "backend", "forms":

=javascript_include_tag "fckeditor.js"

El archivo fckeditor.js debe estar en /public/javascripts

La carpeta fckeditor debe estar dentro de /public/javascripts

En public/javascripts/forms.js pertenecinete a Lipsiadmin, la función stiledForm es la que hay que modificar:

function styledForms() {
hoverEffects();
buttonHovers();
formHovers();
//FCKEditor
var sBasePath = '/fckeditor/'
var oFCKeditor = new FCKeditor( 'FCKEditor', '100%', '400' ) ;
oFCKeditor.BasePath = sBasePath ;
oFCKeditor.ReplaceTextarea() ;
}


En la vista correspondiente a Lipsiadmin:

<%=text_area :noticia, :contenido, :rows => 20, :id => 'FCKEditor'%>

Comentar la línea 127 de fckeditor.js para que no salga error cuando no haya TEXTAREA en el cuerpo:


//alert( 'Error: The TEXTAREA with id or name set to "' + this.InstanceName + '" was not found' ) ;


Otra opción es usar TinyMce Editor usando modificaciones similares, pero por ahora adolece de un mal funcionamiento tras la primera carga
de la que no he encontrado solución.
 
javascript:void(0)