Issue #778💬 RespondidoAbierto el 18 de enero de 2018por ghenaReacciones 0

Guardar en la base de datos data-gjs-droppable

Respuesta rápidapor artf

@ghena deberías almacenar HTML/CSS para el resultado final, para el editor tienes que depender del formato JSON '''js const comps = editor.getComponents(); Estilo const = editor. getStyle(); Consulta también #597

Lee la respuesta completa abajo ↓

Pregunta

Hola a todos,

Necesito resolver un problema. Guardar html grapejs elimina todos los datos-gjs-* de html. ¿Existe alguna forma de mantener todos los datos-gjs-* antes de guardar el editor html?

Fragmento de códigoTEXT
De hecho, si guardo mi plantilla falta todo data-gjs-droppable y en el siguiente render carga atributos data-gjs-droppable y se activa.

Guardo de esta manera:

editor. Commands.add
        ('guardar-db',
        {
            run: function(editor, sender)
            {

var html = editor.runCommand('gjs-get-inlined-html');
              var html = editor.getHtml();
             var css = editor.getCss();

var customBlocks = $($.parseHTML(html)).find('.custom-block');
              var post_ids = [];
              var params = {css:css,html: html,post_id:<?php echo $_post->ID ?>};

jQuery.ajax(
                        {URL: '<?php eco $pathHttpGrapes ?>/scripts/save.php',
                        tipo: 'POST',
                        datos: params,
                        dataType: "json",
                        crossDomain: false,
                        éxito: función(resultado){
                        },
                        error:función(){
                            toastr.error ("Si è generato un error inatteso");
                        }
               });
              sender & & sender.set('active'); Apaga el botón
                         }
        });

Gracias de antemano.
Saludos.

Respuestas (3)

artf19 de enero de 2018

@ghena deberías almacenar HTML/CSS para el resultado final, para el editor tienes que depender del formato JSON '''js const comps = editor.getComponents(); Estilo const = editor. getStyle();

Creo que sería mejor para ti usar el almacenamiento remoto integrado en lugar de uno personalizado
'''js
grapesjs.init({
...
storageManager: {
            Tipo: 'A distancia',
            pasosAntesDeguardar: 10,
            contentTypeJson: cierto,
            urlStore: "<?php echo $pathHttpGrapes ?>/scripts/save.php",
			No necesitas esto si ya has iniciado el editor con una plantilla
			autoload: cierto,
            urlLoad: "/load-template/2", 
            params: {
				post_id: <?php echo $_post->ID ?>
			},
          },
})

Consulta también #597

shareefhiasat19 de junio de 2018

@artf cómo guardar con un punto final remoto con el modo HTML en línea, me refiero a HTML y CSS enviados al servidor? ¡Gracias

Preguntas y respuestas relacionadas

Continúa investigando con debates sobre temas similares.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

Consulta los plugins de código abierto de GrapesJS en GitHub O haz una búsqueda rápida en nuestro catálogo gratuito.

Explora plugins gratuitos →
Opción premium

Los plugins premium incluyen soporte, actualizaciones regulares y funciones listas para producción — ahorrando días de trabajo de integración.

Explora plugins premium →

Tutoriales relacionados

Guías detalladas sobre el mismo tema.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.