sábado, 17 de enero de 2009

Rich Text Editor en Symfony 1.2

Estoy embarcado en un proyecto donde estoy utilizando Symfony, como lo empece hace un mes aproximadamente decidí implementarlo con la última versión , por obvias razones. Bueno la cosa es que los cambios de la versión 1.2 son notorios, muchas formas de hacer las cosas han cambiado, pero siempre para bien, una de ellas es la forma de utilizar el control para texto enrriquecido, después de buscar y buscar (cosa que se re complica dado los cambios de versiones, no sabes a que se refieren las discusiones en los foros :S ) encontre una forma de hacerlo, dejo aquí los pasos para que los lectores no pierdan tanto tiempo cuando quieran intentarlo.

Paso 1

Descargar Tiny_MCE ( es posible usar FCK Editor y otros, yo elegí este):

http://ufpr.dl.sourceforge.net/sourceforge/tinymce/tinymce_3_2_1_1.zip

Dejenlo la carpeta descomprimida, mas justamente la que dice tiny_mce dentro de javascripts, en el directorio, web/js/tiny_mce/.

Paso 2

Añadir el script en la aplicación que desean que utilizé este control, para ello deben ir a suapp/config/view.yml y añadir la entrada a su linea de scripts

javascripts: [tiny_mce/tiny_mce.js]

Paso 3

Instalar sfFormExtraPlugin, este posee el widget para el texto enrriquecido, mediante el siguiente comando.

symfony plugin:install sfFormExtraPlugin --release=1.0.7

Paso 4

Customizar el form donde desean el texto enrriquecido, para esto debe ir a lib/form/ y buscar el Form que desean modificar y en el metodo configure añadir esta linea


Donde , es el nombre del campo que desean con texto enrriquecido.

Paso 5

Este paso tube que hacerlo por que aparentemente el plugin posee alguna clase de error, dado que no toma el parametro correspondiente a la class, para ello modifique el source del plugin, deben ir a plugin
s/lib/widget/ y en el archivo
sfWidgetFormTextareaTinyMCE.class.php cambiar las primeras lineas del metodo render de tal manera que no arroje la exception y en cambio ponga por defecto la clase tiny_mce (una solución rá
pida y muy sucia) (clic en la imagen para agrandar).

Con esto deberían tener su campo listo y con un editor bien cheto.

Problemas que pueden surgir, principalmente que pongan mal los paths al script tiny_mce.js, verifiquen.



4 comentarios:

Unknown dijo...

je, en otros tiempos había montado un Mambo casi sin modificar y le habilité sin mucho problema un plugin para editar texto enriquecido en los posteos de los usuarios en un portal de Intranet (tenía la misma función para la cual se tendría que haber usado un wiki en realidad..pero la gente quería algo que se pudiera "tocar" para publicar en Internet a futuro, etc.).
Qué puedo decir, aguante las ideas simples y buenas.

Ingesi dijo...

segui paso a paso y no llegue a buen puerto me estoy volviendo loco y ya no me queda caffe, ya no se que modificar para que aparesca el fucking textarea con texto enriquesido me puedes hechar una mano.

mail y msn: msuarez_81@hotmail.com

RGV dijo...

Hola!

Mi problema es que al recuperar el contenido generado, symfony me traduce el código html a entidades, por lo que lo muestra tal cual en vez de interpretarlo.
Alguna idea/solución?

Gracias!

Anónimo dijo...

Hola Raf, podrias decirme como recuperas el contenido del textarea? realmente necesito extraerlo de la manera en la que te ocurre a ti. Gracias de Antemano.