2010/1/9 Pedro Visintin <[email protected]>: > Hola Diego: > > Yo hice algo, con TinyMCE y paperclip pero file storage, el upload lo > delegás en TinyMCE o lo haces con el custom image browser? > > Saludos > > P > > 2010/1/8 Diego Caliri <[email protected]> >> >> Alguien usando TinyMCE en algún proyecto en Rails ha tenido la necesidad >> de implementar un upload de imágenes integrado en el tiny que vayan a parar >> a un s3? Sugerencias?
La parte de backend lo podes hacer con cualquier plugin, el que mas te guste. paperclip funciona. Lo que respecta a modificar tinymce, es bastante facil. Fijate que tinymce viene con un plugin de ejemplo, casi no tenes que hacer nada, solo cambiar un par de strings de configuracion. http://wiki.moxiecode.com/index.php/TinyMCE:Create_plugin/3.x Tenes que hacer que el plugin habra una view especifica tuya que dibuje la galeria. En mi caso algo asi: init : function(ed, url) { // Register the command so that it can be invoked by using tinyMCE.activeEditor.execCommand('mceWWGallery'); ed.addCommand('mceWWGallery', function() { ed.windowManager.open({ file : "/images", // <<<<<<<<<<<<<<<<< Esto es lo mas importante, url de la view que dibuja tu galeria. width : 600 + parseInt(ed.getLang('ww_gallery.delta_width', 0)), height : 450 + parseInt(ed.getLang('ww_gallery.delta_height', 0)), inline : 1 }, { plugin_url : url, // Plugin absolute URL some_custom_arg : 'custom arg' // Custom argument }); Despues, cuando apretas el boton en el editor te habre un popup cuyo contenido es lo que dibujas en tu view (pensa en un iframe o una lightbox). En los docs de tinymce dice como tenes que hacer para que te dibuje el boton, creo que al invocar el editor tenes que pasarle estas opciones (entre otras): theme : "advanced", plugins : "nombre_de_tu_plugin,otro_plugin, etc...", theme_advanced_buttons1 : "nombre_de_tu_plugin,|,otro_boton,etc...", Por ultimo, tenes que poner algo asi en tu view asociado al click de cada imagen que dibujes: function insert_asset(image_id) { jQuery.post("/page/1/images", { image_id: image_id }, function(url_de_la_imagen, status) { parent.tiny_mce_insert_html(url_de_la_imagen); }); } Podes hacer que tu ImagesController#create devuelva el url de la imagen asi lo usas para decirle a tinymce que inserte la imagen. Yo use jQuery para hacerlo porque es menos laburo, pero lo podes hacer con prototype tambien si queres. Eso es todo. >> >> Saludos >> >> Diego S. Caliri >> >> >> _______________________________________________ >> Ruby mailing list >> [email protected] >> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar >> > > > > -- > Pedro Visintin . S o f t w a r e A r c h i t e c t > http://www.pedrovisintin.com > > Camara Free - Unión invencible de freelancers > http://camarafree.com > > Ruby On Rails Argentina. http://blogs.onrails.com.ar > > Personal page: > http://www.p-e-t-e-r-p-u-n-k.com.ar > > "Lo que hagas, hacelo con pasión" > > > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar > > -- -------------------------------------------------------------- EmmanuelOga.com - Software Developer _______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
