Issue #1792💬 RespondidoAbierto el 14 de febrero de 2019por abozhinovReacciones 0

Excluye algunos componentes del HTML final (Multinivel)

Respuesta rápidapor abozhinov

Esta es mi solución: domc.addType('layout', { model: defaultModel.extend( { valores predeterminados: Object.assign( {}, defaultModel.prototype.defaults, { removible: falso, arrastrable: falso, Droppable: falso, Badgable: falso, Estilizado: falso, resaltable: falso, copiable: falso, redimensionable: falso, editable: fa...

Lee la respuesta completa abajo ↓

Pregunta

Hola, Tengo una pregunta sobre cómo excluir HTML de editor->getHtml().

Mi estructura es algo así.

Padre

  • Child -- Niño --- Child

Quiero guardar el HTML del último hijo. ¿Cómo hacerlo?

Respuestas (2)

abozhinov15 de febrero de 2019

Esta es mi solución: domc.addType('layout', { model: defaultModel.extend( { valores predeterminados: Object.assign( {}, defaultModel.prototype.defaults, { removible: falso, arrastrable: falso, Droppable: falso, Badgable: falso, Estilizado: falso, resaltable: falso, copiable: falso, redimensionable: falso, editable: false, capas: falso, seleccionable: false, Hoverable: falso, propagar: [ 'removible', 'arrastrable', 'dejable caer', 'badgable', 'estilizable', 'resaltable',

Fragmento de códigoTEXT
'copiable',
							'redimensionable',
							'editable',
							'capaz',
							'seleccionable',
							'flotable'
						],
						jsUrl: config.jsUrl,
						script: función () {
							AssetManager.loadJS('{[ jsUrl ]}');
						}
					}
				),
				toHTML: function() {

function getHtml(components) {

Que yo;

para (i=0; i < components.length; i++)
						{
							Sea component = components[i];

if (component.attributes.tagName !== 'div')
								continúa;
							
if (component.attributes.attributes.hasOwnProperty('data-page-editor-content'))
							{
								componente de retorno;
							}
							si no, si (component.atributos.componentes.models.length > 0)
							{
								return getHtml(component.attributes.components.models);
							}
						}
					}

let editorContent = getHtml(this.attributes.components.models);
					editorContent.script = '';
					
return defaultType.model.prototype.toHTML.apply(editorContent);
				}
			},
			{
				isComponent(el) {
					if(el.id === 'js-wrapper') {
						return {
							Tipo: 'Layout'
						};
					}
				}
			}
		),
		vista: defaultType.view,
	});

domc.addType('editor-content', {
		model: defaultModel.extend(
			{
				valores predeterminados: Object.assign(
					{},
					defaultModel.prototype.defaults,
					{
						removible: cierto,
						Arrastrable: Cierto,
						Droppable: Cierto,
						Badgable: Cierto,
						Estilizado: Cierto,
						Resaltable: Cierto,
						Copiable: Cierto,
						redimensionable: cierto,
						Editable: Cierto,
						Layerable: Cierto,
						Seleccionable: Cierto,
						Hoverable: Cierto,
						propagar: [
							'removible',
							'arrastrable',
							'dejable caer',
							'badgable',
							'estilizable',
							'resaltable',
							'copiable',
							'redimensionable',
							'editable',
							'capaz',
							'seleccionable',
							'flotable'
						],
					}

)
			},
			{
				isComponent(el) {
					if(el.nodeType === Node.ELEMENT_NODE && el.hasAttribute('data-page-editor-content')) {
						return {
							Tipo: 'Editor-Content'
						};
					}
				}
			}
		)
	});
lock[bot]16 de febrero de 2020

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.

Plugins de pago que cumplen con este problema

Seleccionado por temas clave y relevancia de etiquetas para ayudarte a enviar más rápido.

Ver todos los plugins

Cargando recomendaciones de plugins de pago...

Opción gratuita

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 →
Opción premium

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.

Todos los tutoriales →

Explorar categorías de plugins

Ve directamente a las páginas de categorías de plugins en el marketplace.