Añadir tributo a HTML
Creo que necesitas añadir el atributo al modelo, en lugar de a la vista. https://github.com/artf/grapesjs/blob/50cc585f23f2560077fd0e9a42ced22e67e69723/src/dom_components/model/Component.js#L298 Luego, tendrás que renderizar la vista. Creo que es así, pero no hay garantías 😄
Lee la respuesta completa abajo ↓Pregunta
Hola a todos,
Quiero añadir un id para cada bloque que arrastre y suelte en el lienzo; Para ser más claro, no quiero añadir un Id para cada tipo, por ejemplo: Imagen, Tabla, Caja, ... Quiero añadir ad Id para cada bloque, lo que significa que, por ejemplo, el bloque "sección 1" se convierte en '<table... blockId = 1>'.
Estoy intentando usar esos dos comandos:
-
'editor.getSelected().view.$el[0].setAttribute("blockId","1")'
-
'editor.getSelected().get('components').trigger('resetNavigator')'
Sí, los cambios aparecen en el lienzo si pongo "Inspeccionar elemento", pero si intento exportar el código HTML de la plantilla, el atributo no se añade.
¿Alguna idea de cómo conseguir eso y hacer que los cambios también aparezcan en el código exportado?
Gracias de antemano.
Respuestas (3)
Creo que necesitas añadir el atributo al modelo, en lugar de a la vista.
Luego, tendrás que renderizar la vista.
Creo que es así, pero no hay garantías 😄
sea seleccionado = editor.getSelected();
selected.addAttributes({blockId: 1});
selected.view.render();
Hola, Solo dejo un ejemplo por si alguien más lo necesita.
editor.on('block:drag:stop', function(model) {
model.addAttributes({ 'data-block_id': '123xyz' });
});
Tal como sugirió James, pero sin 'selected.view.render()' ya que la vista recibirá cambios simultáneamente
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2744
[PREGUNTA] Desactiva un arrastre y solta por bloques
Hola a todos, Me gustaría prohibir la caída de un bloque antes que de otro en concreto. Contexto: he creado un nuevo rasgo para algunos blo...
Issue #543
Gestor de bloques en GrapesJS que no funciona para columnas
Hola, Mi instalación de GJS conecta todos los bloques por defecto. Cada bloque se arrastra bien en la página salvo todas las "columnas". es...
Issue #2684
Elemento de imagen
Hola, Me gustaría añadir un bloque de "imagen" al editor, donde podamos definir una imagen diferente para cada dispositivo, y el HTML base...
Issue #1297
[PREGUNTA] ¿Es posible hacer múltiples rasgos para hacer un img editable y <a> etiquetar en el componente de tabla?
Hola Artur, Se me olvidó decir que estoy usando la última versión, lo siento por eso. Quiero añadir un plugin para iconos de redes sociales...
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.