Estilo predeterminado para bloques personalizados
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)
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}); } });
¡Muy bien, funciona genial! ¡Muchas gracias!
@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.
Issue #1611
Etiqueta de script crear error JSON
Hola. Estoy creando bloques en Grapesjs y necesito usar JS en ellos para el efecto de hover y más... Todo funciona bien para la creación, a...
Issue #1278
Uso con php y mysql
Hola. ¿Se puede usar esto como un editor wysiwyg normal para guardar los datos en una base de datos y crear páginas dinámicamente en una pá...
Issue #1906
Componentes y Js - Plantilla de carga
Hola, Tengo un componente al que se le conecta un JS. Todo se crea usando el JS. Cuando arrastro y suelto mi bloque por primera vez, el JS...
Issue #384
Crear y editar plantilla en base de datos
Este es mi código para crear una nueva plantilla e insertar el html en línea con estilo en la base de datos: '''js var editor = grapesjs.in...
Plugins de pago que cumplen con este problema
Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.
Cargando recomendaciones de plugins de pago...
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 →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.
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.