Contao FAQ Frage und Antwort rund um das CMS

Den Contao Slider mit der Galerie und Twig Templates erstellen

Für den Wrapper benötigt ihr eine Kopie vom Swiper Slider swiper.html.twig das wird unter templates/content_element/swiper/gallery-slider.html.twig umbenannt angelegt.

Das Twig Galerie Template wird auch als Kopie unter templates/content_element/gallery/gallery_default_slider.html.twig umbenannt abgelegt.

Angepasste Contao Twig Templates für den Slider und die Galerie

Folgender Inhalt kommt in die Contao-Twig Templates für den Slider und die Galerie rein.

Das angepasste Twig Template für den Slider

{% extends "@Contao/content_element/swiper.html.twig" %}

{% block content %}
  {% set slider_attributes = attrs()
    .addClass('swiper ')
    .set('data-delay', delay)
    .set('data-speed', speed)
    .set('data-offset', offset)
    .set('data-loop', loop)
    .mergeWith(slider_attributes|default)
  %}
  <div{{ slider_attributes }}>
    {# entfeRne .addClass('swiper-wrapper') #}
    {% set slider_wrapper_attributes = attrs()
      .mergeWith(slider_wrapper_attributes|default)
    %}

    {% block slides %}
      {% for element in nested_fragments %}
        {% block slide %}

          {{ content_element(element) }}

        {% endblock %}
      {% endfor %}
    {% endblock %}
    <div class="swiper-pagination"></div>
  </div>
    <button type="button" class="swiper-button-prev"></button>
    <button type="button" class="swiper-button-next"></button>



{% endblock %}

Das angepasste Twig Template für die Galerie

{% extends "@Contao/content_element/gallery.html.twig" %}

{% set attributes = attrs()
    .addClass("swiper-wrapper content-#{type}--cols-#{items_per_row|default(4)}")
    .mergeWith(attributes|default)
%}

{% block list %}

    {% for item in list.items %}
        <div class="swiper-slide"{% block list_item_attributes %}{{ attrs(list.item_attributes|default) }}{% endblock %}>
            {% block list_item %}
                {% with {figure: item} %}{{ block('figure_component') }}{% endwith %}
            {% endblock %}
        </div>
    {% endfor %}

{% endblock %}

Dann legt ihr einen Contao Slider einer Seite an und nutzt das neue Inhaltselement-Template und auch für die Galerie.

Damit die neuen Twig Templates geladen werden ist das löschen vom Contao Symfony Cache nötig. Alternativ könnt ihr auch im Backend auf Debug-Modus schalten, um im gleichen Browser die Änderungen zu sehen.

Zurück zur Contao FAQ Übersicht