Instrucciones
- Instalamos el módulo ImageWidgetCrop que nos permitirá crear varios estilos para una misma imagen
- Creamos un campo imagen que permita añadir múltiples elementos
- Creamos los estilos y los Crop Styles para cada caso y los configuramos.
- Asignamos en el formulario del tipo de contenido, en el campo de las imágenes los estilos para que estén disponibles
- Ya tendremos bootstrap theme instalado y nuestro subtema creado
- En la plantilla correspondiente a nuestro tipo de contenido añadimos el código que está debajo
Código
{# Slider#} <div class="contenedor-slider"> {% if content.field_slideshow_de_fondo|render %} <div id="myCarousel" class="carousel slide" data-ride="carousel"> <!-- Indicators --> <ol class="carousel-indicators"> {% for key, item in content.field_slideshow_de_fondo if key|first != '#' %} <li class="{% if loop.first %}active{% endif %}" data-slide-to="{{ key }}" data-target="#myCarousel"></li> //Agrega el ACTIVE al primer elemento {% endfor %} </ol> <!-- Wrapper for slides --> <div class="carousel-inner"> {% for key, item in content.field_slideshow_de_fondo['#items'] if key|first != '#' %} <div id="{{ key + 1 }}" class="paragraph--layout-slideshow__slide-{{ key + 1 }} item carousel-item{% if loop.first %} active{% endif %}"> <picture> <source media="(max-width: 414px)" srcset="{{ file_url(item.entity.uri.value|image_style('estilo_movil')) }}"> // Nos permite acceder a la url de la imagen con el estilo aplicado <source media="(max-width: 768px)" srcset="{{ file_url(item.entity.uri.value|image_style('estilo_tablet')) }}"> <source media="(max-width: 1023px)" srcset="{{ file_url(item.entity.uri.value|image_style('estilo_escritorio')) }}"> <source srcset="{{ file_url(item.entity.uri.value|image_style('estilo_escritorio')) }}"> <img src="{{ file_url(item.entity.uri.value|image_style('estilo_escritorio')) }}" alt=""> //Selecciona la imagen correcta según el dispositivo </picture> </div> {% endfor %} </div> </div> {% endif %} </div>