Issue #1178💬 RespondidoAbierto el 6 de junio de 2018por demodesignReacciones 0

Quiero reemplazar la división de envoltorio

Respuesta rápidapor artf

No, actualmente no hay forma de importar un envoltorio, pero aceptaría encantado una residencia permanente para esto

Lee la respuesta completa abajo ↓

Pregunta

Hola artf,

Quiero reemplazar la división de envoltorios, por ejemplo: Cuando creamos la plantilla del boletín, ya existe el wrapper div ahí. En la plantilla de importación, si existe el wrapper div en importar html, entonces hay que reemplazar el wrapper ya existente por uno nuevo.

¿Es eso posible? A continuación está mi código

var blockManager = editor. Jefe de bloque;
var tipo = 'plantilla';
bm.add(type, {
   etiqueta: 'Prueba',
   categoría: 'Mis plantillas',
   Contenido: {
    Tipo: Tipo,
    contenido: '<div id="wrapper" style="cuadro-dimensionamiento: cuadro de borde; imagen de fondo: url(http://www.test.net/source/MzE=/badlands-dawn-20180314012931.jpg); repetición-fondo: repetir; posición-fondo: arriba izquierda; tamaño-fondo: cover; anexo-fondo: fijo;"><div class="div-box c5389 c6138" style="tamaño: cuadro de borde; margen: 0 auto; ancho máximo: 600px; relleno: 5px 5px 5px 5px 5px; ancho: 100%;"><id/id="id29o6" estilo="tamaño-caja: cuadro de borde;" ><div id="isee9e" style="cuadro-dimensionamiento: cuadro de borde; relleno: 0; margen: 0; vertical-alineado: arriba; pantalla: bloque en línea; ancho: 100%;">
</div></div><h1 class="encabezado" id="iti4ul" style="box-sizing: border-box;">Insertar título aquí</h1><p class="paragraph" id="ik4ktj" style="box-sizing: border-box;">Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</p><h1 class="heading" id="irpqvn" style="box-sizing: border-box;">Inserte título aquí</h1><p class="párrafo" id="ii5irl" style="box-sizing: border-box;" >Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua</p><a class="c5561" id="iqlfky" style="cuadro-tamaño: borde-recuadro; tamaño-fuente: 20px; relleno: 10px 25px; color de fondo: #673AB7; color: #fff; text-align: center; borde-radio: 4px; peso-fuente: 300; pantalla: inline-block; margin: 10px;">Texto del botón de enlace</a></div></div>'
   }
  });

var dc = editor. DomComponents;
var defaultType = dc.getType('default');
var defaultModel = defaultType.model;

editor. DomComponents.addType(type, {   
   view: defaultType.view.extend({
    render: función () {
     defaultType.view.prototype.render.apply(esto, argumentos);    
     Aquí aplicas toda tu lógica personalizada
     var content = this.model.attributes.content;
     var wrapperStyle = '';
     si (contenido) {
      var c = $(contenido),
              wrapperId = c.attr('id');
      if (wrapperId == 'wrapper') {
       wrapperStyle = c.attr('style');
       contenido = c[0].innerHTML;
      }
     }
     var ws = wrapperStyle.split(';');
     si (ws) {
      var WC = Editor. DomComponents.getWrapper();
      var wstyles = {};
      para (var i = 0; i < ws.length; i++) {
       var st = ws[i].split(': ');
       st[0] = st[0].trim();
       si (st[0] != 'indefinido' && st[0] != '') {
        wstyles[st[0]] = st[1];
       }
      }
      wc.set({
       Estilo: Wstyles
      });
     }     
     this.model.attributes.content = content;     
     devuelvo esto;
    },
   }),
  });

Después de arrastrar y soltar, no se puede editar @artf

Respuestas (2)

artf8 de junio de 2018

No, actualmente no hay forma de importar un envoltorio, pero aceptaría encantado una residencia permanente para esto

padcom11 de septiembre de 2023

¿Algún avance en esto? Especificar el componente envolvente es muy útil cuando se trabaja con elementos personalizados que necesitan un contexto, como FormKit que requiere algunos datos 'proporcionados()'d...

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.