Amplía ejemplos/documentación de Pannel/Command abriendo una nueva vista
Una buena práctica para familiarizarte con GrapeJS sería intentar duplicar el gestor de bloques y crear el tuyo propio. Puedes lograrlo editando los archivos que aparecen a continuación. Un buen ejemplo sería copiar el src/blockmanagerand llamarlo src/sectionmanager y luego renombrar todos los nombres de BlockManager...
Lee la respuesta completa abajo ↓Pregunta
Hola Artur,
¡Primero que nada, Grapesjs es increíble!
Ahora mismo estoy intentando entender cómo crear un panel con un botón que abra una nueva vista, como hacen los bloques y los botones del gestor de capas. Quiero renderizar mi propio conjunto de elementos en esa nueva vista. Estoy mirando el código que usas para abrir esas vistas, pero que usa los gestores para renderizar los elementos. También es un poco confuso para qué sirve todo el código.
Sería genial tener más documentación sobre este tema.
Respuestas (3)
Una buena práctica para familiarizarte con GrapeJS sería intentar duplicar el gestor de bloques y crear el tuyo propio. Puedes lograrlo editando los archivos que aparecen a continuación. Un buen ejemplo sería copiar el src/block_managerand llamarlo src/section_manager y luego renombrar todos los nombres de BlockManager a SectionManager. Mira el código, no son tantas líneas.
Luego tendrás que editar los siguientes archivos para que funcione:
src/editor/index.js
Responsable de Sección: em.get('Gestor de Sección'),
src/editor/modelo/Editor.js
requiere('section_manager'),
Luego crea un archivo nuevo src/comandos/vista/OpenSections.js
Modifica todo el contenido de esto para que coincida realmente con los nombres del responsable de sección.
Ejemplo:
var sm = editor. Jefe de sección;
src/editor/config/config.js
Configuraciones para Jefe de Sección
sectionManager: {},
src/panels/config/config.js
var osc = 'secciones abiertas';
{
id: OSC,
claseNombre: 'fa fa-th-large',
Mando: OSC,
activo: falso,
atributos : { título: 'Secciones abiertas' },
},
index.html
Jefe de sección:
{
Categorías: {
abierto:verdadero
}
},
var sm = editor. Jefe de sección;
sm.add(this.id, {
etiqueta: esto.etiqueta,
Categoría: esto. Categoría,
atributos: this.attributes,
Contenido: esto.contenido,
});
Haz una búsqueda completa de código fuente para BlockManager o block_manager para asegurarme de que no me he perdido nada. Así entenderás mejor cómo funciona BlockManager.
Por supuesto, tendrás que cambiar algunas clases de CSS para mover el gestor a la ubicación deseada, o insertar su contenido en una sección completamente diferente de tu interfaz.
Es una idea aproximada. Una mejor idea sería crear un plugin independiente que genere este gestor de secciones, lo miraré poco después de familiarizarme con todos los archivos y entenderlo mejor.
También creo que deberíamos elegir una interfaz como semantic-iu para crear barras dinámicas, modales, etc. con grapejs. Aquí tienes un ejemplo de uno de mis intentos de crear una nueva barra lateral usando semantic-iu:
! imagen
La barra se muestra y se oculta automáticamente cuando empiezas a arrastrar el elemento. Creo que @artf intenta mantener este editor lo más sencillo posible sin dependencias, pero esto podría funcionar para algunas personas.
En lugar de modificar el gestor de bloques, creé mi propio gestor donde puedo modificarlo sin tocar el Gestor de bloques original.
¡Salud
Hola, estaba mirando de hacer algo similar y encontré esto aquí. Me preguntaba si existe alguna documentación que explique más sobre el proceso de creación de nuevas vistas.
Hola @RuudH gracias por la sugerencia, espero publicar pronto algo más sobre este argumento. Por ahora, solo puedo sugerirte que compruebes los comandos usados para esos paneles (por ejemplo, Bloques abiertos)
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #3331
Gestor de activos personalizado
Hola @artf Seguí la documentación para crear un nuevo tipo de gestor de activos Aquí (https://codepen.io/abhi_punk81/pen/MWbWzaq) He creado...
Issue #3412
El guardado automático funciona parcialmente y deja de funcionar tras insertar texto
Hola a todos. Estoy usando este proyecto increíble para una aplicación de producción escrita con React.js, así que lo integré dentro de mi...
Issue #2972
HAZAÑA: Desactivar los scripts en el lienzo
Hola, antes que nada, gracias por una herramienta tan estupenda. En mi proyecto me encontré con el problema de que tengo que desactivar los...
Issue #3287
Diseño de envoltorio
Antes que nada, enhorabuena @artf por este increíble proyecto 💯 Actualmente estoy trabajando en un proyecto y quería preguntar si puedo ed...
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.
Tutorial
How to Build a Production GrapesJS Editor: The Complete Walkthrough of Brief, Preset, Plugins, and Services
A complete walkthrough of building a production GrapesJS editor: how to choose a preset, pick plugins, and scope setup services without burning a sprint.
Tutorial
GrapesJS vs Webflow vs Builder.io vs Puck: Which Visual Builder to Choose in 2026
A practitioner's 2026 comparison of GrapesJS, Webflow, Builder.io, and Puck — pricing, AI features, lock-in, and a one-line rule for picking the right one
Tutorial
GrapesJS vs Webflow vs Tilda (2026): Honest Comparison, Pricing & Which to Pick
GrapesJS vs Webflow vs Tilda compared head-to-head: real 2026 pricing, SEO features, code export, and which one actually fits your project
Explorar categorías de plugins
Ve directamente a las páginas de categorías de plugins en el marketplace.