MetaModels / core

MetaModels Core Module
GNU Lesser General Public License v3.0
95 stars 42 forks source link

Paginierung mit GET in Verbindung mit Filter #1493

Closed Shania567 closed 1 year ago

Shania567 commented 1 year ago

Checklist before I submit this issue report

I confirm that:

Issue description

Mein MetaModel ist für die Paginierung der Listenansicht auf GET eingestellt.

paginierung

Ich habe eine Liste mit vielen Seiten und über der Liste einen Filter. Nun gehe ich in der Liste z.B. auf die Seite 4.

Der Link ändert sich zu https://www.***.net/seitenname.html?page=4

Nun klicke ich oben in der Auswahl und möchte die Liste einschränken.

Der Link ändert sich zu https://www.***.net/seitenname/page/4/filtername/ausprägungsname.html

Jetzt gibt es aber gar keine 4 Seiten mehr, sondern nur noch zwei. Angezeigt wird die erste Seite. Klicke ich dann auf Seite 2 sieht der Links so aus

https://www.***.net/seitenname/page/4/filtername/ausprägungsname.html?page=2

Diese Seite gibt es natürlich nicht und das wird auch angezeigt.

Dieser Fehler führt auch in 2.3 mit dazu, dass ich den Suchindex nicht einfach aktualisieren kann. Es werden viel zu viele mögliche Seiten erzeugt, die alle gecrawlt werden sollen. Das läuft sich zu Tode. Ich muss dann alle Filter ausblenden, damit ich den Seitenindex aufbauen kann. Da ich auf der Seite aber zahlreiche MMs nutze, ist das nicht wirklich praktikabel und geht maximal bei einem Upgrade. Das ist nun seit MM 2.2 so bzw. Contao 4.9. Da hätte ich es wohl besser schon hier gemeldet.

Link zum Thema im Forum: https://community.contao.org/de/showthread.php?84597-MM-2-3-Paginierung zonky kam im Forum darauf, dass es an der GET Methode liegen könnte, die sich mit slug der Filter beißt. Das habe ich getestet und ist erst einmal korrekt. Stelle ich die Paginierung auf slug um, gibt es keine nicht gefundenen Seiten.

Gehe ich mit slug genauso vor wie oben beschrieben bleibt zwar die Seite 4 nach der Auswahl des Filters erst einmal stehen, auch, wenn es gar keine Seite 4 mit dem Filter mehr gibt (so gesehen ist das wohl nicht ganz richtig, aber immerhin funktioniert es erst einmal), aber wenn man die Seite wechselt, auf z.B. Seite 2, wird der Link korrekt angepasst und kommt auch die Seite 2.

Würde man den Link mit der Seite 4 posten, klappt es aber sicherlich auch an dieser Stelle nicht. Das habe ich aber jetzt nichts ausprobiert.

zonky2 commented 1 year ago

Workaround: Paginierung als Slug-Parameter verwenden

zonky2 commented 1 year ago

Fixed in MM 2.3