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

Responder a