Cargando un nuevo módulo en el editor
Hi @northkode módulos solo se usan internamente por GrapesJS, no es algo que tengas que lidiar en tu plugin, solo integra todo lo que tienes dentro de la función del plugin
Lee la respuesta completa abajo ↓Pregunta
He construido un sistema de gestión de páginas completamente funcional en el editor, pero no estaba muy seguro de la forma correcta de insertar el panel en el editor sin hacer el código de abajo, así que busco algún consejo si esto no es correcto.
Tengo un Page Plugin en el que cargo:
var editor = grapesjs.init( {
Altura: '100%',
Offsets: 1,
avisoOnUnload: 0,
storageManager: {
id: 'sa-', // Identificador de prefijo que se usará en los parámetros
tipo: 'local', // Tipo de almacenamiento
autoguardado: falso, // Almacenar datos automáticamente
autoload: true, // Autoload datos almacenados en init
},
Contenedor: '#gjs',
fromElement: cierto,
Plugins: [ 'Page-editor' ],
pluginsOpts: {
'editor-página': {}
}
} );
El plugin de editor de páginas básicamente carga un plugin de paneles personalizados que tengo 'importar paneles desde './panels';' que entonces en el Constructor de Plugins sí
panels( editor, config );
Aquí es donde las cosas me resultan raras. Cargo mi clase de PageManager 'importar PageManager desde "./pagemanager";'
Y luego, en la función de inicio de la clase Panels Controller, después de haber configurado todos los paneles personalizados para dispositivos, botones, etc., cargo en el Administrador de Páginas así:
AÑADIENDO UN NUEVO COMPONENTE DE GESTOR DE PÁGINAS
editor.getModel().loadModule( PageManager );
editor. PageManager = editor.getModel().get( 'PageManager' );
Encontré la función loadModule del código fuente y no estaba seguro de si había otra forma de inyectarlo en el núcleo, ya que también quería crear un comando personalizado que activara o desactivara el PageManager, lo cual hago asignando un nuevo comando al sistema y desactivando la pantalla del PageManager para que 'bloquee', igual que el LayerManager.
Por favor, decidme si no es la mejor forma de cargar el PageManager, ya que me gustaría seguir el flujo correcto del sistema.
Respuestas (2)
Hi @northkode módulos solo se usan internamente por GrapesJS, no es algo que tengas que lidiar en tu plugin, solo integra todo lo que tienes dentro de la función del plugin
Este hilo se ha bloqueado automáticamente porque no ha habido actividad reciente desde que se cerró. Por favor, abre un nuevo problema para bugs relacionados.
Preguntas y respuestas relacionadas
Continúa investigando con debates sobre temas similares.
Issue #513
Edición de modelo y HTML devuelta
Tengo el código de abajo para crear un componente personalizado y quiero recuperar html actualizado vía editor.html(), pero si devolvo HTML...
Issue #602
HTML/Javascript personalizado
Técnicamente no es un problema, pero busco una forma de replicar la función de "editor de código" en Click Funnels, donde hay un bloque que...
Issue #1748
Cómo evitar que los elementos arrastren dentro del editor
Hola @artf Lo estás haciendo muy bien con grapesjs y es extremadamente útil hacer que nuestra funcionalidad sea más fácil de usar. Gracias...
Issue #467
Ponle el foco en otro elemento
Estoy abriendo una ventana emergente al hacer clic en algún elemento, pero el foco sigue estando en el elemento en el que hago clic. Quiero...
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.