Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] crear botones dinamicamente en tinyMCE 4.x

Estas en el tema de crear botones dinamicamente en tinyMCE 4.x en el foro de Javascript en Foros del Web. hola buenas tardes! tengo el problema de que en tinyMCE quiero agregar un menu con la siguiente estructura: item 1 sub item 1.1 item 2 ...
  #1 (permalink)  
Antiguo 15/07/2013, 15:54
 
Fecha de Ingreso: marzo-2011
Ubicación: Matehuala
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
crear botones dinamicamente en tinyMCE 4.x

hola buenas tardes!
tengo el problema de que en tinyMCE quiero agregar un menu con la siguiente estructura:
item 1
sub item 1.1
item 2
sub item 2.1
sub item 2.2
...
de una forma dinamica, encontre un ejemplo y lo modifique en la siguiente forma
Código:
tinymce.create('tinymce.plugins.ExamplePlugin', {
        createControl: function(n, cm) {
                switch (n) {
                        case 'mymenubutton':
                                var c = cm.createMenuButton('mymenubutton', {
                                        title : 'My menu button',
                                	image : '/example_data/example.gif',
                                        icons : false
                                });

                                c.onRenderMenu.add(function(c, m) {
                                        var sub;
                                        for(i=1;i<=3;i++)
                                        {
                                            sub = m.addMenu({title:'Item '+ i});
                                            for(j = 1; j <= 4; j++)
                                            {
                                                sub.add({title:'subItem' + j, onclick : function(){
                                                tinyMCE.activeEditor.execCommand('mceInsertContent', false, i+'this is sub_item -> '+j);
                                                }});
                                            }
                                        }
                                });
                                      
                                // Return the new menu button instance
                                return c;
                }

                return null;
        }
});

// Register plugin with a short name
tinymce.PluginManager.add('example', tinymce.plugins.ExamplePlugin);
el problema es que solo funciona con tinyMCE 3.X y lo necesito para tinyMCE4.x
ademas siempre manda a imprimir el ultimo ciclo en todos los submenus
  #2 (permalink)  
Antiguo 16/07/2013, 09:11
 
Fecha de Ingreso: marzo-2011
Ubicación: Matehuala
Mensajes: 10
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: crear botones dinamicamente en tinyMCE 4.x

hola buenos días, pues no recibí ninguna respuesta pero gracias a dios lo he solucionado.
Lo primero que hice fue descargar el tinymce para desarrolladores y busque el ejemplo de los formatos por que era como yo lo quería, el archivo es formatControl.js.

bueno aquí dejo mi solución
Código:
tinymce.PluginManager.add('componentes', function(editor, url) {
    each = tinymce.each;
    var configuraciones =[
    			{title:'componente1', items: [
					{title:'configuracion1', insertar:'{componente_galeria_1}'},
					{title:'configuracion2', insertar:'{componente_galeria_2}'},
					{title:'configuracion3', insertar:'{componente_galeria_3}'}
				]},
				{title:'componente2', items: [
					{title:'configuracion1', insertar:'{componente2_galeria_1}'},
					{title:'configuracion2', insertar:'{componente2_galeria_2}'},
					{title:'configuracion3', insertar:'{componente2_galeria_3}'}
				]},
				{title:'componente3', items: [
					{title:'configuracion1', insertar:'{componente3_galeria_1}'},
					{title:'configuracion2', insertar:'{componente3_galeria_2}'},
					{title:'configuracion3', insertar:'{componente3_galeria_3}'}
				]}
			];
    function crearMenu(componentes){
        var menu = [];
		if(!componentes){
			return;
		}
		each(componentes, function(compo){
			var menuItem = {
				text : compo.title,
				icon: false
			};
    		if(compo.items){
    			menuItem.menu = crearMenu(compo.items);
    		}else{
    			menuItem.onclick = function() {
    		        editor.insertContent(compo.insertar);
    			};
    		}
    		menu.push(menuItem);
		});//fin each
				return menu
	}
    var confMenu = crearMenu(configuraciones); 
    
    editor.addMenuItem('configuraciones',{
        text:'Componentes',
        context:'tools',
        menu : confMenu
    });
bueno lo que se necesita es un arreglo en formato Json se le pasa como parámetro a la función crearMenu(arreglo);
bueno espero que les sirva.
Lo unico que me falta es crear el arreglo en Json desde php obteniendo los datos de mysql.
Gracias
  #3 (permalink)  
Antiguo 25/01/2016, 15:34
 
Fecha de Ingreso: agosto-2015
Ubicación: DF
Mensajes: 26
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: crear botones dinamicamente en tinyMCE 4.x

Hola que tal talvez demaciado tarde pero como lo solucionaeste yo ando en las mismas

Etiquetas: menus, plugins, tinymce
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:48.