Imprime la url de una imagen desde Media en Twig
Descripción
Este código imprime en una plantilla paragraphs.html.twig el campo "field_section_hero_image", configurado con el módulo media para subir las imágenes, en lugar de un campo imagen normal de Drupal 8.
Instrucciones
Para imprimir la url de una imagen subida utilizando el módulo MEDIA:
- Crea un paragraphs y añade el campo imagen que quieres como fondo, usando el MEDIA en lugar de IMAGE FIELD
- Activa el modo debug o depurador para que sepas el nombre de tu plantilla paragraphs y luego COPIA/PEGA el código que está debajo sustituyendo el código de la plantilla original.
- En la variable {{ content }} que está en la parte central del paragraphs, utiliza {{ content.MI_CAMPO_CUSTOM }} para imprimir sólo los campos que quires y no repetir el campo imagen que tienes como fondo.
- Añade con CSS la altura que quieres para el paragraphs.
Código
{% set classes = [ 'paragraph', 'paragraph--type--' ~ paragraph.bundle|clean_class, view_mode ? 'paragraph--view-mode--' ~ view_mode|clean_class, not paragraph.isPublished() ? 'paragraph--unpublished' ] %} {% block paragraph %} <div{{ attributes.addClass(classes) }} {% if content.field_section_hero_image|render is not empty %} style="background-image: url('{{ file_url(content.field_section_hero_image[0]['#media'].field_media_image.entity.uri.value) }}');" {% endif %} > {% block content %} <div>algo aqui<br/> {{ content }}<br/> </div> {% endblock %} </div> {% endblock paragraph %}