Ergebnis 1 bis 5 von 5

Thema: [gelöst] Pagination für die Bildergalerie (file Feld)

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

    Standard [gelöst] Pagination für die Bildergalerie (file Feld)

    Hallo Leute,

    ich hab mir mla zu Testzwecken einen Katalog 2.0 Beta2 und ein frisches 2.10.3 installiert.

    Soweit läuft es erstmal ganz gut, ein Problem habe ich aber bei der Bildergalerie.

    Ich habe mehrere Bilder und die sollen nicht alle als eine Wurst angezeigt werden, ich würde gerne eine Pagination einsetzen.

    Gibt es eine Möglichkeit eine Pagination zu verwenden und diverse Setings zu definieren die dann global verwendet werden.

    Wenn jemand das schonmal gemacht hat udn mir einen Tip geben könne wäre das sehr schön.

    Danke

    G
    Geändert von grand (29.11.2011 um 20:40 Uhr)

  2. #2
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Hallo grand,
    sowas ist tatsächlich nicht drinn bisher.
    Könntest das ja mal als Feature vorschlagen: http://www.contao-forge.org/projects...s?per_page=100

    Ich persönlich würde das dann nun im Template regeln.
    Allerdings etwas anders.. eher mit sowas wie Tabs (braucht ja nicht so aussehen): http://blog.ginader.de/archives/2009...lich-macht.php (kann man auch mit mootools machen, einfach google bemühen).

    Im Template dann einfach x Bilder innerhalb von einem HTML Konstrukt ausgeben lassen und dann noch eine Zahl ausgeben für die Seite. Vorteil dabei ist auch: alles ist auf einer Seite und der Besucher spart sich das neu laden (Nachteil: der erste Seitenaufbau dauert eben etwas länger... aber dafür gibts ja den guten Contao-Cache).

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

  3. #3
    Administrator Avatar von xchs
    Registriert seit
    19.06.2009.
    Beiträge
    14.558
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Zitat Zitat von grand Beitrag anzeigen
    Ich habe mehrere Bilder und die sollen nicht alle als eine Wurst angezeigt werden, ich würde gerne eine Pagination einsetzen.

    Gibt es eine Möglichkeit eine Pagination zu verwenden und diverse Setings zu definieren die dann global verwendet werden.

    Wenn jemand das schonmal gemacht hat udn mir einen Tip geben könne wäre das sehr schön.
    Von lindesbs gibt es dazu im Contao Wiki ein Beispiel, wie man das im Template machen könnte: http://de.contaowiki.org/Catalog_Det...der_paginieren
    Contao Community Administrator

    [Unterstützungsmöglichkeiten]

  4. #4
    Contao-Yoda Avatar von MacKP
    Registriert seit
    15.06.2009.
    Ort
    Duisburg
    Beiträge
    13.292
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Oh, noch ein kleines Fundstück:
    http://de.contaowiki.org/Catalog_Det...der_paginieren

    (danke @ lindesbs fürs posten)

    Viele Grüße
    Contao Pool | C-C-A | MetaModels | [Internetseite -> Mediendepot Ruhr]
    [Arbeitet bei -> Paus Design & Medien]
    "I can EXPLAIN it to you, but I can't UNDERSTAND it for you."

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

    Standard Lösung (danke an lindesbs) funktioniert auch mit 2.10.3

    Damit das auch jemand anders verwenden kann hier mal meine Vorgehensweise:

    Als erstes hab ich den Templategenerator von Lindesbs installiert: http://www.contao.org/extension-list....10009.en.html

    Anschliessend gibts in den Modulen ein neues Icon hinter dem Catalog Lister und dem Catalog Reader Modul.
    Nach einem Klick auf das Icon hinter dem Catalog Reader Modul öffnet sich eine Seite wo man aussuchen kann welches Template man generieren möchte und gibt an welche Fileextension man verwenden will (html5, xhtml, tpl).

    Dann auf den "Select" Button um die Auswahl zu bestätigen und das Template zu generieren, unterhalb sieht man noch ein Feld in dem man den Namen für das Template angeben kann, wenn der Namen angepasst ist muss man nur noch auf den "Speichern" Button klicken und das Template wurde im Ordner /templates von Contao abgelegt und ist somit update sicher.

    Automatisch wird das gespeicherte Template im Readermodul eingetragen, es muss also nicht noch extra ausgewählt werden.

    Anschliessend muss noch der Code für die Pagination in das Template integriert werden: http://de.contaowiki.org/Catalog_Det...der_paginieren

    Dazu öffnet man das Template und sucht das Feld das die Bildergalerie erstellt, hier löscht mann die beiden DIVs "Label" und "Value" raus und kopiert den code wie im WIKI rein.
    Zum Schluss muss noch die Variable angepasst werden, im WIKI "allImages" muss auf den eigenen Feldnamen geändert werden.

    Mit der Variable
    PHP-Code:
    $numPerPage 5
    stellt man die Anzahl der Bilder pro Seite ein.

    Noch ein kurzer Nachtrag:

    Damit bei einem weiterschalten der Pagination die Seite auch wieder zur Bildergalerie springt gibts hier noch eine angepasstes Template für die "pagination.html5"

    PHP-Code:
    <!-- indexer::stop -->
    <div class="pagination block">
      <a name="pagination"></a>
    <p><?php echo $this->total?></p>
    <ul>
    <?php if ($this->hasFirst): ?>
      <li class="first"><a href="<?php echo $this->first['href']; ?>#pagination" class="first" title="<?php echo $this->first['title']; ?>"><?php echo $this->first['link']; ?></a></li>
    <?php endif; ?>
    <?php 
    if ($this->hasPrevious): ?>
      <li class="previous"><a href="<?php echo $this->previous['href']; ?>#pagination" class="previous" title="<?php echo $this->previous['title']; ?>"><?php echo $this->previous['link']; ?></a></li>
    <?php endif; ?>

    <?php
        $regexp 
    "<a\s[^>]*href=(\"??)([^\" >]*?)\\1[^>]*>(.*)<\/a>";
        
    $strResult $this->items;
        if(
    preg_match_all("/$regexp/siU"$this->items$matchesPREG_SET_ORDER)) 
        { 
            foreach(
    $matches as $match
            { 
                
    $strResult str_replace($match[2],$match[2].'#pagination',$strResult);
            }
        }
      
        echo  
    $strResult;
    ?>

    <?php if ($this->hasNext): ?>
      <li class="next"><a href="<?php echo $this->next['href']; ?>#pagination" class="next" title="<?php echo $this->next['title']; ?>"><?php echo $this->next['link']; ?></a></li>
    <?php endif; ?>
    <?php 
    if ($this->hasLast): ?>
      <li class="last"><a href="<?php echo $this->last['href']; ?>#pagination" class="last" title="<?php echo $this->last['title']; ?>"><?php echo $this->last['link']; ?></a></li>
    <?php endif; ?>
    </ul>
    </div>
    <!-- indexer::continue -->
    Das sollte es gewesen sein!

    Nochmal herzlichen Dank an lindesbs für die nette und extem schnelle Hilfe bei meinem Problem.
    Geändert von grand (29.11.2011 um 21:07 Uhr)

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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