Contao-Summit 2026

Ankündigung

Collapse
No announcement yet.

Zwei Leser für zwei Varianten der Nachrichtenliste

Collapse
X
 
  • Filter
  • Zeit
  • Show
Clear All
new posts

    Zwei Leser für zwei Varianten der Nachrichtenliste

    Meine Situation ist folgende: ich habe eine Sammlung von Nachrichten. Auf der Startseite der Webseite habe ich eine Liste mit den ersten zwei Einträgen, die komplette Liste ist auf einer separaten Seite eingebunden. Für beide Listen (komplett und kurz) habe ich eigene (identische) Leser definiert, damit man dann auch zur ursprünglichen Seite zurückkehrt. Lediglich die Übersichtsseite der Leser ist unterschiedlich.
    Jetzt ist es so: schon der Link zum Leser ist bei beiden Listen gleich (Popup im Browser zeigt dies an), so dass bei einer der beiden Möglichkeiten zur falschen Seite zurückgekehrt wird. Dabei ist es völlig egal, welchen Leser ich in den beiden Modulen Nachrichtenliste unter "Nachrichtenleser" auswähle. Ist es zufällig der Leser mit der niedrigeren ID?
    Kennt jemand dieses Problem? Noch besser, eine Lösung?
    Hier habe ich eine ähnliche Problematik gefunden, ist aber schon sehr lange her: https://community.contao.org/de/show...hrichtenarchiv

    #2
    Zitat von RuedigerMH Beitrag anzeigen
    Für beide Listen (komplett und kurz) habe ich eigene (identische) Leser definiert, damit man dann auch zur ursprünglichen Seite zurückkehrt. Lediglich die Übersichtsseite der Leser ist unterschiedlich.
    Hier widersprichst du dich - und ggf. ist das auch der Fehler.
    Wenn du identische Leser definiert hast, dann ist auch Link zur Übersichtsseite ident » damit führen auch beide Zurück-Links zur identen Seite
    Grüsse
    Bernhard

    Comment


      #3
      Als ich die gleiche Newsliste in einem Projekt auf unterschiedlichen Seiten ausgeben musste und dafür unterschiedliche Übersichtseiten (zurück-Seiten) benötigt habe, da habe ich der Einfachheit halber mit dem alten Zurück-Link (Template-Anpassung) gearbeitet und lebe mit den Nachteilen dieser Lösung.
      Vielleicht geht das auch eleganter, aber für diese eine Kundenseite war kein Budget für die Suche nach einer eleganteren Lösung vorhanden.
      Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
      Contao-Online-Video-Kurse: Contao Academy
      Funktionalität erweitern: Contao-Erweiterungen

      :cool:Für Dinge die man mit HTML und CSS lösen kann, braucht man kein javascript.





      Comment


        #4
        Zitat von derRenner Beitrag anzeigen
        Hier widersprichst du dich - und ggf. ist das auch der Fehler.
        Wenn du identische Leser definiert hast, dann ist auch Link zur Übersichtsseite ident » damit führen auch beide Zurück-Links zur identen Seite
        Vielleicht habe ich mich an dieser Stelle nur ungünstig ausgedrückt: es sind zwei weitestgehend identisch konfigurierte Leser, die sich nur in der Konfiguration der Übersichtsseite unterscheiden.
        So ist es gedacht und konfiguriert: Liste1 -> Leser1 -> Liste1, Liste2 -> Leser2 -> Liste2. Aber es wirkt nur so: Liste1 -> Leser1 -> Liste1 und Liste2 -> Leser1 -> Liste1.
        Seltsamerweise scheint es völlig egal zu sein, welche Leser ich bei den beiden Listen konfiguriere, es wird immer nur ein bestimmter Leser angesteuert. Auch wenn der bei keiner der Listen konfiguriert ist oder ein Leser für ein anderes Nachrichtenarchiv.
        Meine Vermutung: es wird immer der Leser zum Nachrichtenarchiv (der Liste) angesteuert, der die niedrigste interne ID hat. Doch ein Bug?

        Ach so: ich hatte vergessen zu erwähnen: Contao 5.7.x

        Comment


          #5
          Die Leserseite definierst du im Archiv.

          Das was du im Listenmodul definieren kannst ist etwas völlig anderes. Das Listenmodul ersetzt sich automatisch mit dem angegeben Lesermodul, wenn ein entsprechender Parameter in der URL vorhanden ist. Siehe https://docs.contao.org/5.x/manual/d...-konfiguration
          » sponsor me via GitHub or Revolut

          Comment


            #6
            Das ist alles richtig. In der Doku steht folgendes:

            Nachrichtenleser: Hier kannst du festlegen ob automatisch zum Nachrichtenleser gewechselt werden soll, wenn ein Beitrag ausgewählt wurde.

            Das lässt viel Raum für Interpretationen. Zur Auswahl stehen jedenfalls alle definierten Leser-Module. Eigentlich sollte das dann nur eine Checkbox sein. Denn wenn man das genau liest, darf es nur einen einzigen Leser für ein Archiv geben. Hmmm. Da habe ich wohl in die falsche Richtung interpretiert. Vielleicht fällt mir noch ein Trick ein.

            Comment


              #7
              Zitat von RuedigerMH Beitrag anzeigen
              Das ist alles richtig. In der Doku steht folgendes:

              Nachrichtenleser: Hier kannst du festlegen ob automatisch zum Nachrichtenleser gewechselt werden soll, wenn ein Beitrag ausgewählt wurde.

              Das lässt viel Raum für Interpretationen.
              Das Nachrichtenlistenmodul ersetzt sich dann automatisch mit dem ausgewählten Nachrichtenlesermodul, wenn sich in der URL ein News-Alias befindet.

              Das hat man früher benutzt, um folgende URL-Struktur zu ermöglichen:


              Dazu mussten sich beide Module auf der selben Seite mit dem Alias news befinden.

              Heutzutage braucht man das aber nicht mehr, da man da nun einfach zwei verschiedene Seiten anlegen kann, die beide den selben Alias haben - aber die Leserseite hat zusätzlich die Einstellung Element erforderlich aktiv. Somit ist im Routing dann klar, welche der Seiten dargestellt werden muss.
              » sponsor me via GitHub or Revolut

              Comment


                #8
                Zitat von RuedigerMH Beitrag anzeigen
                Vielleicht fällt mir noch ein Trick ein.
                Einen Trick habe ich Dir doch hier geschrieben.
                Contao-Dokumentation: Contao-Handbuch und Contao-Entwickler-Doku
                Contao-Online-Video-Kurse: Contao Academy
                Funktionalität erweitern: Contao-Erweiterungen

                :cool:Für Dinge die man mit HTML und CSS lösen kann, braucht man kein javascript.





                Comment


                  #9
                  Die technisch sinnvolle Lösung wäre folgende imho:
                  1. Im Nachrichtenlesermodul stellt man die Seite mit der vollen Nachrichtenliste als Übersichtsseite ein.
                  2. Für die Nachrichtenliste auf der Startseite lässt man bei der Erzeugung der Newsdetaillinks zusätzlich einen Parameter zur aktuellen URL an die URL hinzufügen (bspw. _redirect oder _referrer) - natürlich als signierte URL.
                  3. Im Nachrichtenlesermodul prüft man die signierte URL und liest ggf. den übergebenen Parameter aus und nutzt den dann im Template als den Link zur Übersichtsseite.
                  » sponsor me via GitHub or Revolut

                  Comment


                    #10
                    Zitat von Spooky Beitrag anzeigen
                    Die technisch sinnvolle Lösung wäre folgende imho:
                    1. Im Nachrichtenlesermodul stellt man die Seite mit der vollen Nachrichtenliste als Übersichtsseite ein.
                    2. Für die Nachrichtenliste auf der Startseite lässt man bei der Erzeugung der Newsdetaillinks zusätzlich einen Parameter zur aktuellen URL an die URL hinzufügen (bspw. _redirect oder _referrer) - natürlich als signierte URL.
                    3. Im Nachrichtenlesermodul prüft man die signierte URL und liest ggf. den übergebenen Parameter aus und nutzt den dann im Template als den Link zur Übersichtsseite.
                    Wenn ich eine Web-Applikation vor Augen hätte, würde ich es genau so machen und die Sache wäre in wenigen Minuten erledigt. Ich bin nur leider neu mit Contao unterwegs und muss diese Blackbox bewältigen.
                    Es geht aber noch besser. In der bestehenden alten Contao3-Implementierung, die ich neu implementieren will, ist es wie folgt gelöst: der "Zurück"-Button hat als Link "javascript:history.go(-1)". Das führt genau an die Stelle in der Nachrichtenliste zurück, von der ich gekommen bin, bei Paginierung lande ich auch auf der richtigen Seite und nicht am Anfang. Mag sein, dass es evtl. einen Haken gibt, aber erstmal sehe ich keinen.
                    Im Template steht bei Contao3 <p class="back"><a href="<?php echo $this->referer; ?>" ..., bei Contao5.7 <p class="back"><a href="{{ referer }}" ..., wobei das mit dem Referer seltsam erscheint.

                    Comment


                      #11
                      Zitat von RuedigerMH Beitrag anzeigen
                      Es geht aber noch besser. In der bestehenden alten Contao3-Implementierung, die ich neu implementieren will, ist es wie folgt gelöst: der "Zurück"-Button hat als Link "javascript:history.go(-1)". Das führt genau an die Stelle in der Nachrichtenliste zurück, von der ich gekommen bin, bei Paginierung lande ich auch auf der richtigen Seite und nicht am Anfang. Mag sein, dass es evtl. einen Haken gibt, aber erstmal sehe ich keinen.
                      Diese Lösung wurde ja schon hier erwähnt.

                      Der Haken an der Sache ist, dass das einfach via JavaScript in der Browser History zurück geht. Das heißt wenn du von irgendwoanders auf der Newsdetailseite landest, dann führt dich der "Zurück"-Link halt nicht auf eine der Nachrichtenlisten.
                      » sponsor me via GitHub or Revolut

                      Comment

                      Working...
                      X