Mehrere Bildergalerien in einer Lightbox öffnen

Wenn auf einer Seite zwei oder mehrere Galerien eingebunden sind, werden diese getrennt in der Lightbox geöffnet. Man kann nicht über alle Bilder in der Lightbox blättern. Eine kleine Templateanpassung ändert dieses Verhalten, so dass alle Bilder die selbe Lightbox ansteuern.

Anleitung für HTML5-Templates

1. Templates kopieren und umbenennen

Zuerst erstellst du von den folgenden Templates eine Kopie und benennst diese um.

  • gallery_default.html5 kopieren nach gallery_lightbox.html5
  • image.html5 kopieren nach image_lightbox.html5

(Du kannst statt lightbox natürlich jeden beliebigen Namen verwenden)

3. image_lightbox.html5 anpassen

In diesem Template musst du folgende Änderung durchführen:

  • ALT: <?= $this->attributes ?>
  • NEU: data-lightbox="lbcommon"

Für lbcommon kannst du auch jeden beliebigen eigenen Namen verwenden.

4. Template zuordnen

Nun ordnest du bei allen Galerien, die auf einer Seite zusammen geöffnet werden sollen, das neue Template gallery_lightbox zu.

Contao eigenes Galerie Template wählen
Anleitung für Twig-Templates

1. Neues Template erstellen

Zuerst benötigen wir eine Kopie des Original-Templates gallery.html.twig. Das lässt sich mit wenigen Klicks über den Menüpunkt Templates erledigen.

Original-Temlpate gallery.html.twig kopieren

3. onelightbox.html.twig anpassen

Nun musst du im Template noch den entsprechenden Block media_link überschreiben. Damit alle Bilder in einer Lightbox vereint werden, muss der LightboxGroupIdentifier auf denselben Wert festgelegt werden. Um das zu erreichen, sollte das Template wie folgt aussehen.

{% extends "@Contao/content_element/gallery.html.twig" %}
{% block media_link %}
    {% set link_attributes = attrs(figure.linkAttributes(true)|default)
        .setIfExists('title', figure.hasLightbox and figure.hasMetadata ? figure.metadata.title : null)
        .mergeWith(figure.options.link_attr|default)
        .set('data-lightbox', 'allinonegallery')
        .mergeWith(link_attributes|default) %}
    <a{{ link_attributes }}>{{ block('media') }}</a>
{% endblock %}

4. Anwendungscache leeren

Damit die Templates erkannt werden, musst du nun einmal den Anwendungscache über den Contao Manager leeren.

5. Template bei Galerie zuordnen

Nun sollte das Template onelightbox in Contao bekannt sein und du kannst es bei deiner Galerie zuordnen. Ordne es allen Galerien auf der Seite zu, die zusammengefasst werden sollen.

Template singlegallery zuordnen

Möchtest du über neue Artikel informiert werden?

Dann trage hier deine E-Mailadresse ein und klicke auf „Abonnieren". Du erhältst regelmäßig aktuelle Infos über Contao und die Contao-Academy.

Du kannst deine E-Mail-Adresse jederzeit mit nur einem Mausklick aus unserem System löschen. Der Newsletter Versand sowie die individuelle Messung, Speicherung und Auswertung von Öffnungsraten und der Klickraten in Empfängerprofilen erfolgen durch KlickTipp. Ausführliche Hinweise erhältst du in unserer Datenschutzerklärung.

Über den Autor

Christian Feneberg ist der Initiator und Dozent der Contao Academy. Er bringt über 15 Jahre Praxiswissen in der professionellen Umsetzung von Contao-Websites mit. Zudem ist er Teil des Teams von trakked.io. Er liebt es, sich neues Wissen anzueignen und es weiterzugeben. Abseits des Bildschirms verbringt er am liebsten Zeit mit seiner Familie und in der Natur.

Folge Christian jetzt bei LinkedIn.

Christian Feneberg

Einen Kommentar schreiben

Bitte addieren Sie 5 und 4.