Ergebnis 1 bis 19 von 19

Thema: Buchnavigation "endlos"

  1. #1
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard Buchnavigation "endlos"

    Über die Buchnavigation lasse ich durch alle Unterseiten einer Elternseite navigieren, das funktioniert wunderbar. Jetzt fehlt mir ein Ansatz wie ich diese Navigation als "Endlosschleife" ausgeben kann. Damit meine ich dass nach Erreichen der letzten Seite wieder die erste Seite angeboten wird und vor der ersten Seite die letzte Seite. Ich meine zu wissen, dass ich hier das entsprechende Template anpassen muss, als Nichtentwickler fehlt mir im Moment jedoch noch ein Ansatz, wie sich das lösen ließe, vielen Dank für Tipps und Hinweise.

  2. #2
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    775
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von 3dr Beitrag anzeigen
    Über die Buchnavigation lasse ich durch alle Unterseiten einer Elternseite navigieren, das funktioniert wunderbar. Jetzt fehlt mir ein Ansatz wie ich diese Navigation als "Endlosschleife" ausgeben kann. Damit meine ich dass nach Erreichen der letzten Seite wieder die erste Seite angeboten wird und vor der ersten Seite die letzte Seite. Ich meine zu wissen, dass ich hier das entsprechende Template anpassen muss, als Nichtentwickler fehlt mir im Moment jedoch noch ein Ansatz, wie sich das lösen ließe, vielen Dank für Tipps und Hinweise.
    Hi,
    quick&dirty, als letzte Seite eine interne Umleitung auf die erste Seite einrichten?


    Gesendet von iPhone mit Tapatalk
    Grüße, Stefko

  3. #3
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Ha, wie cool klingt das denn, und ja, das könnte funktionieren, probiere ich gleich mal aus

  4. #4
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Schade, funktioniert bei mir mit Contao 3.5.31 leider nicht, es wird kein Link generiert

  5. #5
    Contao-Fan Avatar von Stefko
    Registriert seit
    25.10.2012.
    Ort
    Karlsruhe
    Beiträge
    775
    User beschenken
    Wunschliste

    Standard

    Zitat Zitat von 3dr Beitrag anzeigen
    Schade, funktioniert bei mir mit Contao 3.5.31 leider nicht, es wird kein Link generiert
    Was heißt kein Link generiert?
    Neue Seite, Art: „interne Umleitung“, Ziel „erste Seite“
    Das geht nicht (kann‘s gerade nicht testen)?


    Gesendet von iPhone mit Tapatalk
    Grüße, Stefko

  6. #6
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    837

    Standard

    Ich brauchte so etwas mal für die Artikelnavigation, habe das damals quick&dirty so gelöst - Link
    Vielleicht nützt Dir das als Anregung.

  7. #7
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    @Stefko
    Danke fürs Nachfragen, das Anlegen der Weiterleitung ist mir schon klar, habe ich genau so gemacht wie du es beschrieben hast, das HTML sieht dann aber nach wie vor so aus:
    HTML-Code:
    <ul>
              <li class="prev"><a href="letzte-seite.html" title="">Letzte Seite</a></li>
        
              <li class="up empty"><a href="eltern-seite.html" title="">Eltern Seite</a></li>
        
              <li class="next empty">&nbsp;</li>
          </ul>
    @Bennie, Danke für deinen Tipp, ich erkenne da eine Lösung mit einer if-else-Schleife, das werde ich jetzt mal versuchen nachzubauen.

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

    Standard

    Seit einer bestimmten Contao 3.5 Version werden Weiterleitungsseiten nicht mehr in der Buchnavigation inkludiert.

    Du könntest aber diesen Workaround dennoch versuchen - allerdings mit regulären Seiten, wo dann ein Modul/Script inkludiert ist, dass die entsprechende Weiterleitung macht.

  9. #9
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    @Spooky, danke für die Aufklärung, meinst du mit diesem
    Workaround
    die von Bennie genannte Lösung oder würde das auch nicht funktionieren?

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

    Standard

    Nein, ich meinte, dass du reguläre Seiten anlegen sollst und dann auf diesen Seiten ein Script einbindest, dass die jeweilige Weiterleitung machg

  11. #11
    Contao-Urgestein Avatar von do_while
    Registriert seit
    15.06.2009.
    Ort
    Berlin | Deutschland
    Beiträge
    3.614
    Partner-ID
    1081
    User beschenken
    Wunschliste
    Contao-Projekt unterstützen

    Support Contao

  12. #12
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    @Spooky, jetzt bin ich verwirrt, die regulären Seiten habe ich ja bereits angelegt und die Weiterleitungen funktionieren mit der Buchnavigation ja auch. Es fehlt mir doch lediglich der Link zur letzten Seite vor der ersten und zur ersten Seite nach der letzten, oder nicht?

    @do_while, Danke für den Hinweis zu den Erweiterungen, ich hoffe noch das Problem ohne Erweiterungen, am liebsten über eine Templateanpassung des mod_booknav.html5 zu lösen; also ähnlich wie Bennie das gemacht hat, oder kann das nicht funktionieren?

    Ich bin leider kein Entwickler :|

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

    Standard

    Zitat Zitat von 3dr Beitrag anzeigen
    @Spooky, jetzt bin ich verwirrt, die regulären Seiten habe ich ja bereits angelegt und die Weiterleitungen funktionieren mit der Buchnavigation ja auch. Es fehlt mir doch lediglich der Link zur letzten Seite vor der ersten und zur ersten Seite nach der letzten, oder nicht?
    Genau. Und diese Seiten sollst du als reguläre Seiten anlegen - wo du dann letztendlich jeweils weiterleiten lässt.

  14. #14
    Contao-Fan
    Registriert seit
    10.08.2011.
    Ort
    Berlin
    Beiträge
    837

    Standard

    @3dr
    Wie hast Du es letztendlich gelöst?

  15. #15
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    @Bennie,
    Danke für die Nachfrage, bis jetzt bin ich da noch nicht weiter. Ich versuche noch herauszufinden, wie ich Spookys Hinweis umsetzen könnte.

  16. #16
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    So, ich jetzt nochmal. @Spooky, du schreibst ich soll
    diese Seiten sollst du ... als reguläre Seiten anlegen
    Meinst damit Seiten, die wieder auf die erste bzw. letzte Seite verlinken, das soll dann so aussehen?
    HTML-Code:
    <ul>
    <li>zur-letzten-seite</li>
    <li>erste-seite</li>
    <li>zweite-seite</li>
    <li>xte-seite</li>
    <li>letzte-seite</li>
    <li>zur-ersten-seite</li>
    </ul>
    Damit diese zusätzlich angelegten Seiten weiterleiten fällt mir nur ein Inhaltselement Typ HTML ein in dem ich dann per javascript händisch weiterleite. Das klingt bereits beim Schreiben so bescheuert, dass ich genau weiss, so hast du das niemals gemeint. Leider hat das Template mod_booknav.html5 ja kein first und last, daher komme ich mit Bennies Lösung auch nicht weiter. Für einen weiteren Tipp wäre ich daher wirklich dankbar.
    Geändert von 3dr (21.11.2017 um 20:44 Uhr)

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

    Standard

    1. Lege dir eine Datei namens jumpto.php im Ordner /templates an.
    2. Füge folgenden Inhalt in diese Datei ein:
      PHP-Code:
      <?php \Controller::redirect(\PageModel::findByIdOrAlias(\Input::get('page'))->getFrontendUrl());
    3. Erzeuge ein neues Inhaltselement vom Typ HTML auf der Seite zur-ersten-seite mit folgendem Inhalt:
      Code:
      {{file::jumpto.php?page=erste-seite}}
    4. Erzeuge ein neues Inhaltselement vom Typ HTML auf der Seite zur-letzten-seite mit folgendem Inhalt:
      Code:
      {{file::jumpto.php?page=letzte-seite}}

  18. #18
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    @Spooky,
    vielen Dank mal wieder für deinen Lösungsansatz auf den ich erst jetzt reagiere, weil ich mir was aus deiner Amazon-Wunschliste ausgesucht habe Ohne das getestet zu haben, wird das sicherlich funktionieren. Aber sehe ich das richtig, dass das ja immer noch eine statische Lösung ist, was bedeutet, dass ein/e Redakteur/in eine solche Liste von Seiten (bei mir eine Reihe von Kindseiten auf gleicher Ebene) bei Änderungen händisch um zwei passende Weiterleitungsseiten erweitern müsste. Das wird schwierig. Als Nichtentwickler frage ich jetzt noch mal ob man nicht das Template erweitern kann um das Ganze dynamisch zu machen. Also irgendwie sowas wie:

    1. finde die Url der erste und letzte Seite aller Seiten in der Buchnavigation und speichere die (schreibe die in eine Variabel, richtig),

    2. wenn die erste Seite aufgerufen wird, füge der Buchnavigation davor ein Listenelement hinzu, das auf die letzte Seite linkt,

    3. wenn die letzte Seite aufgerufen wird, füge der Buchnavigation danach ein Listenelement hinzu, das auf die erste Seite linkt.

    Ist meine Vorhaben vielleicht so komplex, dass ich das als Kleinstauftrag im Forum anfragen sollte? Wenn ich so darüber nachdenke, fände ich es eigentlich sogar gut wenn man im BE immer bei Benutzung der Buchnavigation dieses Verhalten per Checkbox an- und ausschalten könnte. Schon mal vielen Dank für alle Rückmeldungen!

  19. #19
    Contao-Fan
    Registriert seit
    05.05.2011.
    Beiträge
    860

    Standard

    Zwischenzeitlich hatte ich bei Andreas eine bei mir in Contao 3.5.31 funktionierende dynamische Lösung beauftragt, die ich mit seinem Einverständnis gerne hier veröffentliche, falls sonst noch jemand so etwas mal braucht.
    PHP-Code:
    <?php

    $this
    ->extend('mod_booknav');

    // deactivate if only one page
    if($this->pageCount <= 2)
    {
      return;
    }

    // deactivate the up button
    $this->hasUp false;

    // wenn erste oder letzte Seite
    if($this->currentPage === || !$this->hasNext)
    {
      
    $hrefSuffix $GLOBALS['TL_CONFIG']['urlSuffix'];
      
    $hrefPrefix '';
      if(
    $GLOBALS['TL_CONFIG']['addLanguageToUrl'])
      {
        
    $hrefPrefix $GLOBALS['TL_LANGUAGE'].'/';
      }
      
    $sort $this->hasNext 'DESC' 'ASC';

      
    // erste/letzte veröffentlichte Seite ermitteln
      
    global $objPage;
      
    $missingPage = \PageModel::findOneBy(
        array(
    'tl_page.pid=?''tl_page.published=?'),
        array(
    $objPage->pid1),
        array(
          
    'order' => 'sorting '.$sort
        
    )
      );

      
    // letzte Seite setzen, wenn auf erster Seite
      
    if($this->hasNext || $this->upTitle == $this->prevTitle)
      {
        
    $this->hasPrev       1;
        
    $this->prevHref      $hrefPrefix $missingPage->alias $hrefSuffix;
        
    $this->prevTitle     $missingPage->title;
        
    $this->prevPageTitle $missingPage->pageTitle;
        
    $this->prevLink      $missingPage->title;
      }
      
    // erste Seite setzen, wenn auf letzter Seite
      
    else
      {
        
    $this->hasNext       1;
        
    $this->nextHref      $hrefPrefix $missingPage->alias $hrefSuffix;
        
    $this->nextTitle     $missingPage->title;
        
    $this->nextPageTitle $missingPage->pageTitle;
        
    $this->nextLink      $missingPage->title;
      }
    }

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
  •