Imagen de fondo en línea
Hola @awaredigital StyleManager se dirige tanto a Componentes como a CssRules, así que hazlo como abajo: ¡Salud!
Lee la respuesta completa abajo ↓Pregunta
Hola,
Leyendo la documentación, no encuentro ningún sitio que explique qué quiero hacer.
Actualmente, Grapes coge la imagen de fondo y la pone en el estilo, pero quiero tomar esta imagen y no añadirla a un estilo de fondo, quiero ponerla en un elemento de datos en el elemento seleccionado.
He estado mirando:
editor.on('component:styleUpdate', function(e, i){});
Pero dentro de esto, no encuentro los atributos correctos que necesito para activar el cambio, tampoco parece actualizarse cuando se añaden nuevos elementos al lienzo. Puedo estar equivocado, pero estoy dando vueltas en círculos.
Respuestas (3)
Hola @awaredigital StyleManager se dirige tanto a Componentes como a CssRules, así que hazlo como abajo:
editor.on('component:styleUpdate:background-image', component => {
const sm = editor. StyleManager
const model = sm.getModelToStyle(component)
el modelo puede ser un Componente o una CssRule
const bg = model.getStyle()['imagen-fondo']
const idx = bg.toString().indexOf('url(')
const newBg = bg.substr(idx + 'url'.length, bg.length - 1)
si (newBg != '(ninguno)') {
component.addAttributes && component.addAttributes({'data-element': newBg})
}
})
¡Salud!
Eso es genial. ¿Cómo detengo los datos de
model.getStyle()['imagen-fondo']
¿ser aprobado por el CSS? Solo la imagen de fondo.
Gracias
@awaredigital he probado el código anterior y funcionaba bien. Pero para el error, puedes marcar ''BG'' antes de seguir procesando porque, después de actualizar el estilo de componentes, puede que la llamada vuelva a aparecer, que es tu caso aquí:
si (bg != nulo) {
const idx = bg.toString().indexOf('url(')
//...
}
¡Salud!
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #1526
[PREGUNTA] cómo hacer un comando a pantalla completa
Hola, lamentablemente no encuentro documentación y no consigo entenderla por código: Sé que hay un comando incorporado 'pantalla completa',...
Issue #2137
[se necesita ayuda] ¿Alguien puede explicar property.layers del gestor de estilo? [por favor, lee la descripción]
Me gustaría programar toda la propiedad de las capas de fondo, pero esta vez usando 'fondo' en lugar de imagen de fondo para no estropear e...
Issue #2739
[Pregunta] Carpetas del Administrador de Activos
Hola, He estado buscando implementar carpetas para el gestor de activos como esta pregunta: https://github.com/artf/grapesjs/issues/229 Sin...
Issue #2968
Pregunta: intentando poner el sector 'Settings' bajo el estilo
https://github.com/artf/grapesjs/issues/1627 Creo que la pregunta está relacionada específicamente con esta línea, tengo el mismo problema....
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 →Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.