Issue #1578✓ ResueltoAbierto el 14 de noviembre de 2018por mathiasbcReacciones 3

Solicitud personalizada sobre atributos "src"

Respuesta rápidapor artf2

Hola @mathiasbc usando la última https://github.com/artf/grapesjs/releases/tag/v0.14.43 Debería funcionar con algo así '''js editor.on('component:mount', model => { si (model.is('imagen')) { si (model.get('src') == '{{image_url}}') { model.getEl().src = "http://via.placeholder.com/350x150"; } } }); ```

Lee la respuesta completa abajo ↓

Pregunta

He implementado un pequeño editor GrapesJS que permite editar plantillas de Django/Jinja2. GrapesJS por defecto intenta OBTENER la vista previa de imagen de mi elemento:

<a href="{{product_url}}" objetivo="_blank"><img src="{{image_url}}" ancho="130"/></a>

La petición ocurre cada vez que cargo la plantilla en el editor GrapesJS: 'http://localhost:8000/%7B%7Bimage_url%7D%7D 404 (No encontrado)'

El editor GrapesJS funciona bien incluso con esta llamada 404. Pero me gustaría encargarme de la petición de la imagen. Así que, en lugar de que GrapesJS haga una llamada predeterminada a 'http://localhost:8000/%7B%7Bimage_url%7D%7D', me gustaría renderizar una imagen provisional, por ejemplo: 'https://placekitten.com/200/300'

Mi configuración actual:

editor = grapesjs.init({
      Contenedor: '#gjs',
      assetManager: {},
});

editor.setComponents('<a href="{{product_url}}" target="_blank"><img src="{{image_url}}" width="130"/></a>');

QuerySelector está devolviendo un Array vacío de Nodos
editor.on('load', () => {
      cuerpo de const = editor. Canvas.getBody().ownerDocument;
      body.querySelectorAll('a').forEach(function(el) {
          Sea Link = el;
          link.setAttribute('src', "http://via.placeholder.com/350x150");
      });
      editor.store();
});

¿Cómo se puede lograr esto con uvas?

Respuestas (3)

artf17 de noviembre de 2018

Hola Mathias, actualmente la única posibilidad que veo ahora es ampliar el componente 'imagen' y su método 'render()'. Probablemente añada algún evento nuevo de componentes para facilitar la gestión de este caso

lock[bot]22 de noviembre de 2019

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.