¿Guardar la configuración de los bloques dinámicos en HTML? (Cuenta atrás, deslizador)
¿Tu código javascript realmente se está configurando? Puede ser porque el framework, por defecto, no configura js cuando ejecutas editor.setComponents(tuhtml); 'const editor = grapesjs.init({ ... permitenScripts: 1, });` Esto podría ayudarte. Te deseo lo mejor.
Lee la respuesta completa abajo ↓Pregunta
Estoy intentando guardar los datos de la plantilla en la base de datos. Actualmente lo tengo funcionando con éxito. Publica los datos de 'Assets', 'Components', 'Styles', 'Html' y 'CSS' (igual que guarda en el localStorage del navegador) en un script PHP.
Como descubrí, la parte 'Components' ('editor.getComponents()' ) contiene la estructura HTML con todos los datos de los elementos dinámicos que no son estáticos en la página (como 'Countdown' o 'Slider'), por lo que es fiable para almacenar la plantilla completa con todos los elementos dinámicos. La parte 'Html' ('editor.getHtml()') solo puede guardar la parte estática de la página, pero deja fuera estos elementos dinámicos.
Mi problema es que necesito una forma de almacenar el código de configuración e inicialización de estos elementos dinámicos ('Cuenta atrás', 'Deslizador') solo en Html. La razón es que, después de guardar los cinco elementos de datos ('assets', 'components', 'styles', 'html', 'css') en la base de datos, habrá partes de nuestra página web donde tendré que cargar los datos 'HTML' y 'CSS' en un elemento HTML sin depender de GrapesJS (porque la plantilla se mostrará a los usuarios finales). Las partes HTML/CSS contienen la información estática, pero hasta donde sé actualmente, GrapesJS tendría que inicializarse para cargar la parte 'Components'.
Así que quizá una solución sería cargar el editor GrapesJS y configurarlo para cargar la parte de 'Componentes' desde la base de datos y mostrar solo el resultado final (como el botón de vista previa) sin poder editar. Pero esa no es una solución limpia, y prefiero evitar inicializar GrapesJS solo para mostrarle la plantilla al usuario final. Necesito una mejor manera de hacerlo. Gracias.
Capturas de pantalla para explicación: Cargando componentes y estilos desde la base de datos al editor: ! GrapesJS carga componentes y estilos Después de esto, la cuenta atrás cuenta atrás como debe y las flechas del deslizador funcionan como se esperaba.
Cargando HTML y CSS desde la base de datos al editor: ! GrapesJS cargando HTML y CSS Después de esto, los números de la cuenta atrás no aparecen y las flechas del deslizador no hacen nada.
Espero que entiendas la pregunta.
Respuestas (2)
¿Tu código javascript realmente se está configurando? Puede ser porque el framework, por defecto, no configura js cuando ejecutas editor.setComponents(tuhtml);
'const editor = grapesjs.init({ ... permitenScripts: 1, });`
Esto podría ayudarte. Te deseo lo mejor.
@alikabeer32 Hmm, parece que eso ha resuelto el problema. ¡Gracias!
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #2596
[PREGUNTA] Añadir html, css y js a Block Manager
[PREGUNTA] ¡Hola! Estoy recuperando códigos dinámicos html, css y js de la base de datos. ¿Cómo puedo crear bloques con esto? Actualmente,...
Issue #368
POST/GET los tres campos
Hola, Estoy intentando almacenar y recuperar datos en/desde la base de datos usando los siguientes campos: 1) Nombre de la plantilla 2) Dat...
Issue #1993
[PREGUNTAS] es cualquier forma de almacenar el id html con su componente cuando hago clic en guardar
Hola. Sé que los grapesjs generarán el id único para cada HTML. cuando guardo ese HTML y CSS. el ID HTML no está almacenado en mi base de d...
Issue #3213
Cómo guardar los rasgos añadidos dinámicamente
Hola @artf, tengo un componente personalizado que tiene un rasgo de botón. Cuando se pulsa el botón, añado dinámicamente un rasgo personali...
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.