Issue #1471✓ ResueltoAbierto el 1 de octubre de 2018por alfaalex81Reacciones 2

Gestor de bloques e imagen

Respuesta rápidapor arthuralmeidap2

@alfaalex81 Para el objeto 'content', puedes añadir un nuevo índice llamado 'classes'. Este índice debe ser un array de clases, que se aplicarán al nuevo bloque Image; Código final:

Lee la respuesta completa abajo ↓

Pregunta

¡Hola! Uso este código para añadir un nuevo bloque:

blockManager.add("image", { etiqueta: 'Image', categoría: 'Básico', atributos: { clase: "gjs-fonts gjs-f-image" }, Contenido: { Estilo: { color: "negro" }, tipo: "imagen", activeOnRender: 1, }, });

¿Cómo puedo añadir una clase personalizada a la etiqueta de img cuando entro en Canvas?

Gracias.

Respuestas (3)

👍 Muy útilarthuralmeidap1 de octubre de 2018

@alfaalex81 Para el objeto 'content', puedes añadir un nuevo índice llamado 'classes'. Este índice debe ser un array de clases, que se aplicarán al nuevo bloque Image;

Código final:

 blockManager.add("image", {
        etiqueta: 'Image',
        categoría: 'Básico',
        atributos: { clase: "gjs-fonts gjs-f-image" },
        Contenido: {
            Estilo: { color: "negro" },
            tipo: "imagen",
            Clases: ['Clase1', 'Clase2']
            activeOnRender: 1,
        },
    });
alfaalex812 de octubre de 2018
Fragmento de códigoHTML
¡Genial!

Tengo otra pregunta para el mismo argumento. Necesito crear un bloque personalizado con una imagen dentro, por ejemplo: 

<div>
		<ul>
			<li>
				<div><a href="#link"><img src="" alt="Imagen del título" /></a></div>
				<a href="#link" >Título</a>
			</li>
		</ul>
	</div>

Añado el código con el gestor de bloques, pero al acceder a Canvas Asset Manager no se abre. Si no, si uso el atributo image type, ignora mi contenido html, guardé un ejemplo en js fiddle:

https://jsfiddle.net/fp78yon0/

¡Gracias!
arthuralmeidap3 de octubre de 2018

Este no es el comportamiento del actual. El Gestor de Activos solo se abre si dejas caer directamente un bloque IMG.

Debes tener que seleccionar el bloque img dentro de tu bloque personalizado y ejecutar un código así:

editor.runCommand('open-assets', {
  objetivo: editor.getSelected()
});

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.