Ergebnis 1 bis 3 von 3

Thema: [Tabcontrol] Galerie mit Pagination

  1. #1
    Contao-Nutzer
    Registriert seit
    17.07.2009.
    Beiträge
    106

    Standard [Tabcontrol] Galerie mit Pagination

    Hallo Leute,

    ich hab soeben das Tabcontrol Modul installiert und habs sogar zum laufen gebracht

    Leider hab ich jetzt eine unschöne Entdeckung gemacht, und zwar wenn ich eine Bildergalerie mit pagination in einen Reiter lege und dann eine Seite weiterclicke wird diese zwar geladen aber der Focus des Tabmoduls wird wieder auf den ersten Reiter gesetzt.

    Kann ich da was umstellen oder so oder ist das ein bekanntes Problem?

    Danke vielleicht kann mir einer helfen!

  2. #2
    Gesperrt
    Registriert seit
    24.04.2012.
    Beiträge
    6

    Information Gleiches Problem

    Hallo Community,

    also auch nach vielen Jahren scheint das Problem noch aktuell zu sein.
    Also ich bastle Berufsmäßig auch an einer Contao Seite und habe zur besseren Übersicht eine Seite die mit 3 UnterseitenTabs quasi gefüllt ist.
    Sprich einfach Plugin installiert, bei Artikel Start und End eingefügt und dazwischen eben Include Article. Funktioniert soweit auch super, nur haben diese Unterseiten jeweils eine Bildgalerie.
    Da die Pagination ja nichts andres macht als die Seite neu zu laden und page=2 dran zu heften, liegt das Problem darin, dass beim neu laden der Seite 1. der 1. Tab aktiv ist (zwar auch mit Seite 3) und somit 2. Es zu unschönne Seiten kommen kann, wenn die Galerie im Tab 2 mehr Seiten an Bildern hat als die 1. .

    Gibt es da inzwischen eine Lösung, welche zum Beisiel nur den Tabinhalt neu lädt, mit Ajax oder vielleicht einen ganz anderen Workaround bietet?

    Wäre für Hilfe wirklich dankbar.

    MfG
    Pacolu
    Geändert von Pacolu (04.05.2012 um 15:51 Uhr)

  3. #3
    Contao-Nutzer Avatar von bes0nic
    Registriert seit
    28.06.2010.
    Ort
    Bei Leipzig
    Beiträge
    15
    Partner-ID
    7211
    Contao-Projekt unterstützen

    Support Contao

    Standard Ja, inzwischen schon :D

    Inzwischen haben wir Agenturintern eine Lösung entwickelt, die ich euch nicht vorenthalten möchte. Damit ist es allgemein möglich, bei einer mehrseitigen Galerie (die als Content Element eingebunden ist) per AJAX die einzelnen Seiten zu durchblättern und somit auf ein Neuladen der Seite zu verzichten. Somit gibt es kein Problem mit Tabcontrol und beides funktioniert harmonisch miteinander.

    Wie das dann aussehen kann, seht ihr hier:
    http://www.ingegraessle.eu/besuche
    (weiter unten auf der Seite gibt es ein Tabcontrol-Element "Brüssel"/"Straßburg"/"Luxemburg", in welchem Galerien liegen)


    HowTo

    - Zuerst muss sichergestellt sein, daß Script-Tags nicht von Contao herausgefiltert werden. Im Backend gibt es im Bereich "Einstellungen" dafür den Punkt "erlaubte Tags", wo die Ausnahme hinzugefügt werden kann.

    - danach muss die ID der Galerie in Erfahrung gebracht werden. Bewegt dazu in der Listendarstellung aller Content-Elemente den Mauszeiger über den "Bearbeiten"-Stift des Galerie-Content-Elements und lest im erscheinenden gelben Tooltip die ID ab.

    - Nun muss unter der Galerie muss ein neues Inhaltselement vom Typ "HTML" erstellt werden. In dieses Element wird der folgende Code hineinkopiert und die ID ersetzt.

    HTML-Code:
    <script>
      function gallery_reload(){
         document.getElements('.pagination a').addEvent('click', function(event){
              event.preventDefault();
              if (event.target.get('href').match('page=[0-9]') != null){  
                var page = event.target.get('href').match('page=[0-9]');
                var url = 'g=1&action=cte&id=***&'+page;  //ID des Inhaltselementes
              }else{
                var page = 'page=1';
                var url = 'g=1&action=cte&id=***&page=0'; //ID des Inhaltselementes
              }
              new Request.JSON({
                      method:'get',
                      data:url,
                      url:'ajax.php',
                      update: event.target.getParent('.ce_gallery'),
                      onSuccess: function(responseText) { event.target.getParent('.ce_gallery').set('html', responseText.content); Slimbox.scanPage(); gallery_reload();},
                  }).send();
              return false;
          });
      };
    window.addEvent('domready', function(){
      gallery_reload();
    });
    </script>
    - solltet Ihr auf der Seite nicht die Contao-eigene Slimbox verwenden, sondern ein anderes Lightbox-Script, so muss der Funktionsaufruf "Slimbox.scanPage();" gelöscht werden. Stattdessen muss eine entsprechende Anweisung eurer eigenen Lightbox-Lösung eingefügt werden, welche die Seite nach Bildern scannt und den Lightbox-Effekt drüberlegt.


    Na dann, viel Spaß beim nachbauen! Natürlich kann das noch weiterentwickelt werden (z.B. als Extension, welche eine Checkbox "[x] per AJAX weiterblättern" zum Galerie-Content-Element hinzufügt und das Javascript dann automatisch einbindet), aber die Grundfunktionialität ist gegeben und die Verwendung von Tabcontrol+Galerie keine Hürde mehr.
    Geändert von bes0nic (04.05.2012 um 15:48 Uhr)
    Christian Rolle @ C2 media
    C2 media - Modernes Webdesign aus dem Herzen Leipzigs

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Ähnliche Themen

  1. [tabcontrol]
    Von Southbridge Media im Forum Sonstige Erweiterungen
    Antworten: 376
    Letzter Beitrag: 13.02.2019, 14:33
  2. Tabcontrol unter 2.9.1
    Von Danny1987 im Forum Sonstige Erweiterungen
    Antworten: 21
    Letzter Beitrag: 26.01.2011, 17:25
  3. Antworten: 3
    Letzter Beitrag: 23.12.2010, 18:09
  4. tabcontrol
    Von feresta im Forum Sonstige Erweiterungen
    Antworten: 0
    Letzter Beitrag: 10.03.2010, 17:36
  5. [tabcontrol] und IE
    Von frank.huettner im Forum Sonstige Erweiterungen
    Antworten: 1
    Letzter Beitrag: 14.12.2009, 17:00

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •