Ergebnis 1 bis 16 von 16

Thema: Galerie mit Pagination - Seitenwechsel Anker

  1. #1
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard Galerie mit Pagination - Seitenwechsel Anker

    Hallo.

    Folgende Problematik:
    Ich habe auf einer Seite mehrere Galerien (Coremodul). Diese befinden sich relativ weit unten auf der Seite und deren Bilder werden auf mehrere Seiten verteilt (Pagination).
    Nun springt man beim Klick auf die nächste Seite immer ganz nach oben. Der Wunsch ist es, eben immer auf der Höhe der Galerie zu landen.

    Erste Idee war die Pagination über das Template mit Ankern zu versehen. Das funktioniert zum Teil. Aber:

    1. Es gibt nur ein ganz allgemeines Paginationstemplate, das wohl für jederlei Pagination in Contao gilt. Wie kann ich jeder Galerie (auf der gleichen Seite z.B.) eine eigene Pagination zuweisen um das richtige Anspringen zu ermöglichen?
    Ich hab mir schon die Ext. template_override angesehen, aber damit kann ich ja pro Contentelement eben nur ce_* Templates mitgeben (was beim ce_gallery-Template auch nicht zu funktionieren scheint - meine Galerie-Items verschwinden dann immer, wenn ich das dort benutzen will. Oder ich verstehe die Funktion falsch!?)

    2. Im Paginationstemplate kann ich meinen Anker an den Link von Vorwärts, Zurück, Anfang und Ende anhängen... an die Items 1,2,3,4,5 usw. komme ich leider nicht. Wie mache ich das in dem Fall?

    Hat jemadn eine Idee dazu oder gar eine alternative Idee, wie ich das lösen konnte?
    Vielen Dank.

    Gruß
    Thomas
    blucomp | Webdesign & Onlinelösungen

  2. #2
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Hi.

    Hat sich das Problem noch niemandem gestellt? Kann ich mir fast nicht vorstellen...

    Gruß Thomas
    blucomp | Webdesign & Onlinelösungen

  3. #3
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.101
    Partner-ID
    10107

    Standard

    Die einzelnen page items der Pagination gibt es leider nicht in einem Template, ja. Da müsstest du dir die system\modules\core\library\Contao\Pagination.php ändern/erweitern. Aber ich würde folgendes Vorschlagen - entweder:
    • Die Scroll Position per JavaScript merken und dann wenn die Seite erneut aufgerufen wird automatisch zur letzten Position scrollen lassen [1]
    • Das Content Element per AJAX einfach neu laden [2]
    [1] Gegenüber einem #anchor hat diese Variante den Vorteil, dass die User-Experience ein wenig besser ist, da der User einfach auf der selben Position innerhalb der Seite bleibt. Mit einem #anchor Link würde er zumindest beim ersten Betätigen eines Page-Links zu einer anderen Position der Seite springen (je nach Situation). Also zu der Position wo das #target (die Gallery) am oberen Rand des Viewports dann ist.

    [2] Diese Variante wäre natürlich nicht schlecht, da die Seite gar nicht neu geladen werden muss. Sie wäre sogar sehr einfach umzusetzen, mit Hilfe der [ajax] Extension und ein wenig jQuery/mootools. Wenn du das gallery template abänderst könntest du dies sogar mit einer einzelnen jQuery/mootools Anweisung automatisch für alle Galerien umsetzen.

  4. #4
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Hallo Spooky,

    vielen Dank für die Antwort... hatte schon fast nicht mehr gehofft.

    Ich verstehe die grundsätzlichen Herangehensweise deiner Vorschläge... einzig (man ahnt es schon) mein JS/Ajax - Wissen reicht derzeit nicht aus das ganze auch umzusetzen.

    Da ich denke, das die Idee auch von allgemeinem Interesse wäre (verstehe nach wie vor nicht, das das scheinbar keinen stört - aber vielleicht wird die Paginierung aufgrund anderer Nachteile wie SEO auch zu selten genutzt...), würde ich da auch gern einen Kleinauftrag auslösen, falls das nicht sogar jemand so machen würde. Ich kann nicht einschätzen wie viel Aufwand das wirklich wäre.

    Gruß
    Thomas
    blucomp | Webdesign & Onlinelösungen

  5. #5
    Community-Moderator
    Wandelndes Contao-Lexikon
    Avatar von Spooky
    Registriert seit
    12.04.2012.
    Ort
    Scotland
    Beiträge
    34.101
    Partner-ID
    10107

    Standard

    Ah, gibt es sogar schon: https://contao.org/de/extension-list...leryxt.de.html . Ist allerdings nur bis 3.0.1 freigegeben.

  6. #6
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Hi.

    Habs gerade mal ausprobiert... auf Contao 3.2.3 kommt leider "Dieses Element verwendet noch das alte Contao 2 SRC-Format. Haben Sie die Datenbank aktualisiert?"
    Wird wohl die Umstellung auf UUID ab 3.2. betreffen, denke ich, oder?

    Wenn ich die Beschreibung so lese, bin ich auch nicht sicher, ob das wirklich in meinem Fall hilft, da ich die Paginierung ja schon möchte (ich hab immer 2 Bilder pro Seite mit Vorher-Nachher Thematik) - ein seitenübergeifendes Durchklicken in der Lightbox ist mir garnicht so wichtig.

    Hier mal kurz die Darstellung der Problematik auf der Arbeitsseite.

    Gruß
    Thomas
    blucomp | Webdesign & Onlinelösungen

  7. #7
    Contao-Nutzer
    Registriert seit
    10.08.2009.
    Beiträge
    69

    Standard Hat jemand dafür inzwischen eine Lösung gefunden?

    Hallo Thomas,

    dein Problem ist genau mein Problem. Hast du es inzwischen irgendwie lösen können?
    Vielleicht kann man im Template mit insert_tags für den Anker arbeiten? wo hast du die Anker hingesetzt. Als eigenes Element über der Galerie?

    Grüße, Conny

  8. #8
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Hallo Conny,

    nein, leider noch keine Lösung. Liegt aber mehr oder weniger daran, dass das betreffende Projekt gerade in der Warteschleife ist.

    Sobald das wieder aktuell ist und ich keine andere Lösung gefunden habe, werde ich wahrscheinlich mal einen Kleinauftrag für eine Extension auslösen.

    Gruß
    Thomas
    blucomp | Webdesign & Onlinelösungen

  9. #9
    Contao-Nutzer
    Registriert seit
    23.06.2012.
    Beiträge
    72

    Standard

    Halloechen,

    ich hab im Pagination-Template einfach diese Zeile

    PHP-Code:
    <?php echo $this->items?>
    durch folgendes ersetzt, um den Anker (liststart) an die Item-Links anzuhängen:

    PHP-Code:
    <?php echo str_replace('" class="link"','#liststart" class="link"',$this->items); ?>
    Grüsse,
    fluppi

  10. #10
    Contao-Nutzer Avatar von Wolf_v2
    Registriert seit
    20.05.2013.
    Beiträge
    12

    Standard Seitenanker für Gallery Creator

    Hallo fluppi,

    danke für die Lösung, das funktioniert schonmal bei den Ziffern.
    Hat noch jemand eine Lösung für den Text? Irgendwie habe ich da einen Knoten im Kopf. Den Gallery Creator habe ich dahingehend angepasst das der Albumname der Ankerpunkt ist.

    PHP-Code:
    <?php if ($this->Albumname): ?>
    <a name="liststart"><h2><?php echo $this->Albumname?></h2></a>
    <?php endif; ?>
    Das funktioniert wie schon gesagt nur bei den Zahlen. Was muss ich machen damit auch der Text "Anfang Zurück Vorwärts Ende" auf den Anker zugreift. Das ist sonst ja nur die halbe Lösung und sieht nicht gut aus.




    LG
    Wolf_v2
    Geändert von Wolf_v2 (29.08.2014 um 16:16 Uhr)

  11. #11
    Contao-Urgestein Avatar von tblumrich
    Registriert seit
    25.06.2009.
    Ort
    Feldberger Seenlandschaft
    Beiträge
    2.225
    Partner-ID
    7979
    User beschenken
    Wunschliste

    Standard

    Hi.

    An die First, Previous, Next und Last Links kommst du im Pagination Template doch ran...

    ...achso du nutzt eine Erweiterung... hier gehts ja um das Coremodul. So wie ich die Ausgabe aber sehe, sollte man auch bei der Erweiterung entsprechend ähnlich an die Links rankommen. Guck mal welches Template die Erweiterung nutzt.

    Bei mir sieht das im Pagination Template an einer entsprechenden Stelle so aus:
    PHP-Code:
    <?php if ($this->hasFirst): ?>
          <li class="first"><a href="<?php echo $this->first['href']; ?>#ga1" class="first" title="<?php echo $this->first['title']; ?>"><?php echo $this->first['link']; ?></a></li>
        <?php endif; ?>
    Aber wie schon erwähnt... der ganz große Haken ist, das das Pagination template global gilt - du hast den Anker also dann überall dort wo seitenweise geblättert werden muss.

    Gruß
    Thomas
    blucomp | Webdesign & Onlinelösungen

  12. #12
    Contao-Nutzer Avatar von Wolf_v2
    Registriert seit
    20.05.2013.
    Beiträge
    12

    Standard Ankerpunkt mit pagination funktioniert

    Der Knoten hat sich gelöst. Eigentlich ganz einfach.

    so sieht meine pagination-Datei jetzt aus. Einfach nur den Anker #liststart hinter die a href setzen.

    PHP-Code:
    <!-- indexer::stop -->
    <div class="pagination block">

      <!-- <p><?php echo $this->total?></p> -->

      <ul>

        <?php if ($this->hasFirst): ?>
          <li class="first"><a href="<?php echo $this->first['href']; ?>#liststart" 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']; ?>#liststart" class="previous" title="<?php echo $this->previous['title']; ?>"><?php echo $this->previous['link']; ?></a></li>
        <?php endif; ?>

        <?php echo str_replace('" class="link"','#liststart" class="link"',$this->items); ?>

       <?php if ($this->hasNext): ?>
          <li class="next"><a href="<?php echo $this->next['href']; ?>#liststart" 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']; ?>#liststart" class="last" title="<?php echo $this->last['title']; ?>"><?php echo $this->last['link']; ?></a></li>
        <?php endif; ?> 

      </ul>

    </div>
    <!-- indexer::continue -->
    LG
    Wolf_v2

  13. #13
    Contao-Nutzer
    Registriert seit
    23.05.2017.
    Beiträge
    2

    Standard

    Hallo zusammen, vielleicht bin ich nur zu dämlich. Ich habe bei mir im Backend die Templates pagination.html5 und pagination.xhtml neu erstellt und entsprechend Wolf_v2 angepasst.
    Leider scheint dies noch nicht ganz zu funktionieren. Im Brower wird jetzt www.demo.de/on-tour-2015?page_g535=3#liststart angezeit.

    Beim wechsel der Seite in der Gallerie sprint die komplette Seite immer wieder ganz nach oben.

  14. #14
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Die Domain demo.de gibt es nicht.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

  15. #15
    Contao-Nutzer
    Registriert seit
    23.05.2017.
    Beiträge
    2

    Standard

    Zitat Zitat von Andreas Beitrag anzeigen
    Die Domain demo.de gibt es nicht.
    Ist ja auch nur ein Beispiel, die richtige Domain liegt noch in meinem internen Netzwerk.

  16. #16
    Contao-Urgestein Avatar von Andreas
    Registriert seit
    19.06.2009.
    Ort
    Mönchengladbach
    Beiträge
    7.703
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

    Standard

    Dann bitte diese URL nicht als Link darstellen, und example.org benutzen. Ohne Link zur Seite kann man da erstmal nicht helfen.
    Bitte!
    Vor Anfragen im Forum HTML validieren.
    Codesnippets hier im Froum sauber einrücken. Nur Tabs o. nur Leerzeichen verwenden.

    Vielen Dank an alle Wunschlistenerfüller
    Andreas Burg, Web Solutions

Aktive Benutzer

Aktive Benutzer

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

Lesezeichen

Lesezeichen

Berechtigungen

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