Issue #1566💬 RespondidoAbierto el 8 de noviembre de 2018por ThomasLaigneauReacciones 0

Estilo predeterminado para bloques personalizados

Respuesta rápidapor artf

Puedes hacer esa clase privada para evitar seleccionarlos en el Style Manager, así estilizarás el componente y no la regla '''js const privateCls = ['.mdcblockheader']; editor.on('selector:add', (selector) => { if (privateCls.indexOf(selector.getFullName()) >= 0) { selector.set({private: 1}); } }); ```

Lee la respuesta completa abajo ↓

Pregunta

Hola, estoy usando GrapesJS para un creador de páginas dentro de una web de Prestashop. La idea es establecer la plantilla predeterminada almacenada en la base de datos con bloques personalizados. Todo funciona bien con la tienda y la carga de la plantilla. Mi problema es que quiero usar solo bloques personalizados que he creado y añadido al BlockManager, pero con CSS por defecto. Puedo poner CSS, pero ¿cómo configuro consultas multimedia para esos bloques por defecto? Los usuarios del creador de páginas solo tendrán que arrastrar los bloques y esos deberían ser responsivos por defecto. Este es mi código:

'''js editor. BlockManager.add('block-header', { etiqueta: 'Bloc Header', Contenido: '<style> .mdc_block_header { ancho:100%; pantalla:flex; justificar-contenido:centro; alinear-ítems:centro; Altura: 400px; imagen de fondo: URL ('http://placehold.it/350x250/78c5d6/fff/image1.jpg'); Tamaño de fondo: Portada; } .mdc_block_header espacio { tamaño de fuente:22px; } </style> '<div class="mdc_block_header"><span>Test</span></div>', atributos: { título: 'Insertar header_block' } });


El problema es que tengo que usar el <style></style> para acceder a las consultas de medios, pero cuando arrastro dos veces los bloques y cambio la imagen de fondo en el editor, cambia para los dos bloques y no solo para el que quería...

Respuestas (3)

artf8 de noviembre de 2018

Puedes hacer esa clase privada para evitar seleccionarlos en el Style Manager, así estilizarás el componente y no la regla '''js const privateCls = ['.mdc_block_header'];

editor.on('selector:add', (selector) => { if (privateCls.indexOf(selector.getFullName()) >= 0) { selector.set({private: 1}); } });

ThomasLaigneau9 de noviembre de 2018

¡Muy bien, funciona genial! ¡Muchas gracias!

ThomasLaigneau16 de noviembre de 2018

@artf El código funciona, pero acabo de ver que ya no puedo ver el botón select para ver el estado de Hover del elemento en el editor... Vuelve cuando elimino el código que me hiciste añadir...

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.