Page 1 of 1
Filter-Plugin verwirrt Pagination....
Posted: Mon Jul 23, 2012 1:59 pm
by montebianco
Nachdem mein Filter-Plugin endlich das tut, was es tun soll (nämlich nach Nutzeranweisung die Artikel auf einer Seite nach Datum auf- oder absteigend zu sortieren, auch innerhalb der einzelnen Kategorien), hat es aber eine andere Macke entwickelt:
Wenn ich eine solchermaßen sortierte Seite vor mir habe und zur nächsten Seite wechseln will (egal, ob über Link "nächste Seite" oder über die zusätzliche Pagination im Seitenfuß), wird die eigentliche nächste Seite übersprungen und stattdessen die übernächste angezeigt.
Der entsprechende Link (in der Statuszeile des Browsers angezeigt) ist zwar korrekt (/plugin/filter/P2.html), das Ergebnis des Klicks aber nicht (dort wird die 3. Seite angezeigt).
Das verrückte ist: Will ich von dort aus auf Seite 1 gehen (plugin/filter/P1.html), lande ich auf der verschollenen, eigentlichen zweiten, Seite.
Was für mich den Schluss zulässt, dass für s9y die Ausgabeseite nach der Filterung nicht das gleiche ist wie /plugin/filter/P1.html. Was sie aber natürlich eigentlich sein sollte....
Re: Filter-Plugin verwirrt Pagination....
Posted: Mon Jul 23, 2012 2:14 pm
by garvinhicking
Hi!
Hm, ich vermute da wird dann $serendipity['GET']['page'] nicht korrekt ausgelesen oder gesetzt; s9y fängt an mit seite P0, also ist die zweite Seite "Seite P1" und nicht "Seite P2". Eigentlich sollte im Link immer nur "+1" gesetzt werden, so dass 0+1 = P1 ist für Seite 2 und 1+1 = P2 ist für Seite 3. Wüsste jetzt nicht genau an welcher Stelle da eine "1" zu viel addiert wird.
Ich fürchte das werde ich nicht im Vorbeigehen beheben können.
Wie ist denn deine URL?
Grüße,
Garvin
Re: Filter-Plugin verwirrt Pagination....
Posted: Mon Jul 23, 2012 2:49 pm
by montebianco
http://bloghaus.schiller-moench.de
Du hast sogar immer noch 'nen ftp-Zugang....
Ohne den Filter-Plugin funktioniert's aber.... Da ist die Startseite des eigentlichen Blogs /index.php?frontpage und offenbar gleichbedeutend mit P1, denn beim Klick auf den "nächste Seite"-Link wird als Link /archives/P2.html ausgegeben, und man landet auch prompt auf Seite 2.
Re: Filter-Plugin verwirrt Pagination....
Posted: Mon Jul 23, 2012 3:01 pm
by garvinhicking
Hi!
Hm, ich glaube das Problem ist eher einfach dass die Sortierung nicht in die Seitenblätterung einbezogen wird? D.h. sobald man blättert geht die Reihenfolge verloren, oder wie meinst du?
Grüße,
Garvin
Re: Filter-Plugin verwirrt Pagination....
Posted: Mon Jul 23, 2012 4:45 pm
by montebianco
Nein, die Sortierung bleibt erhalten....also auch auf der folgenden Seite sind die Artikel je nach Auswahl auf- oder absteigend sortiert.
Aber wenn du auf meiner Seite z.B. ganz allgemein die erste Seite des Blogs (ohne Kategorienauswahl) aufrufst, die Artikel nach Datum aufsteigend (Ältester zuerst) sortierst, dann hast du am Ende der Seite einen Artikel vom 11. Oktober 2010. Navigierst du danach weiter zur nächsten Seite /plugin/filter/P2.html (egal, ob in der Pagination oder über den Link "Nächste Seite"), stehen dort wieder aufsteigend sortiert 6 Artikel, allerdings ist der erste auf der Seite ein Eintrag vom 12. Februar 2011 - die Artikel dazwischen werden übersprungen.
Wenn ich nun eine Seite zurück navigiere (/plugin/filter/P1.html), tauchen dort die Artikel zwischen 15. Oktober 2010 und 23. Januar 2011 auf...
Das Problem jetzt klar?
Re: Filter-Plugin verwirrt Pagination....
Posted: Fri Jul 27, 2012 11:20 am
by garvinhicking
Hi!
Sorry. Hat was gedauert aufgrund akuter Arbeitslast.
Ich habe den Bug gefunden in Zeile 229. Ändere dort:
in das:
Viele Grüße,
Garvin
Re: Filter-Plugin verwirrt Pagination....
Posted: Fri Jul 27, 2012 11:54 am
by montebianco
mach dir bitte um Himmels willen keinen Kopf, wenn's mal etwas länger dauert.... Was ich von deinem Einsatz hier halte, habe ich ja schon gesagt...
Verrätst mir noch, in welcher Datei ich das ändern muss?

serenditpity_event_filter_entries.php?
Danke, montebianco
Re: Filter-Plugin verwirrt Pagination....
Posted: Fri Jul 27, 2012 12:30 pm
by garvinhicking
Hi!
Jupp, genau in jener welchen.
Grüße,
Garvin
Re: Filter-Plugin verwirrt Pagination....
Posted: Fri Jul 27, 2012 12:37 pm
by montebianco
Dann zerhaut es irgendwas anderes ganz wild, sobald ich das Plugin nutze...
Schau dir das mal im Selbstversuch unter
http://bloghaus.schiller-moench.de/plug ... &go=Los%21 an...
Abgesehen davon, dass der entsprechende Eintrag in meiner serendipity_event_filter_entries.php gar nicht in Zeile 229 stand, sondern irgendwas weiter oben....

Re: Filter-Plugin verwirrt Pagination....
Posted: Fri Jul 27, 2012 12:51 pm
by garvinhicking
Hi!
Änder diese Zeilen mal wie folgt stattdessen:
Code: Select all
$page = (int)$serendipity['GET']['page'];
if ($page == 0) $page = 1;
$offSet = $perPage*($page-1);
Grüßer,
Garvin
Re: Filter-Plugin verwirrt Pagination....
Posted: Fri Jul 27, 2012 1:13 pm
by montebianco
Hmm - auf den ersten Blick scheint das Problem gelöst...
so ganz hauts aber immer noch nicht hin....
Teilweise verlässt er beim weiterblättern die gewählte Kategorie und zeigt wieder Einträge aus allen Kategorien an; teilweise unterschlägt er Artikel (Bsp.: Kategorie Finanzen; dort sollen laut Sidebar 9 Einträge vorhanden; zeigt wie gewünscht auf der ersten "gefilterten" / sortierten Seite 6 Artikel an - das ist im Template so eingestellt. Allerdings gibts keinen Link auf die nächste Seite - als ob sie für das Plugin nicht existieren würde.)
Re: Filter-Plugin verwirrt Pagination....
Posted: Fri Jul 27, 2012 1:23 pm
by garvinhicking
Hi!
Die Zuordnung läuft per Session-Daten, d.h., wenn Du zwischen verschiedenen Klicks zu lange brauchst geht die session verloren - und Du kannst die Funktion nicht in mehreren Browser-Fenstern nutzen, immer nur in einem. Bzw. genauer, es wird immer das benutzt was als letzte Anfrage an den Server ging, nicht was innerhalb des jeweiligen Browserfensters/Tabs zuletzt gewählt wurde...?
Um zu sehen was das Plugin als Abfrage schickt kannst du mal in der include/functions_entries.inc.php in der funktion serendipity_fetchEntries() aus einer Zeile
sowas machten
Code: Select all
echo "Benutze Abfrage: <pre>" . $query . "</pre>\n";
und dann sieht man die SQL-Kommandos. Aus denen ließe sich aus dem "LIMIT X, Y" Statement klar erkennen wieviele Einträge er holt, an dem "ORDER BY" wonach er sortiert, und am "WHERE" müsste man sehen, ob und wenn ja welche einschränkung auf Kategorien gesetzt wird.
Grüße,
Garvin
Re: Filter-Plugin verwirrt Pagination....
Posted: Fri Jul 27, 2012 7:26 pm
by montebianco
Nein - es gibt definitiv Kategorien, wo nach der Sortierung beim Aufruf der nächsten Seite auf einmal wieder Artikel aus allen Kategorien aufgerufen werden (und in der Pagination auf einmal auch wieder 10 statt bspw. korrekterweise 5 Seiten angezeigt werden), egal wie lange die Anwendung des Filters her ist (auch bereits 10 Sekunden nach er Sortierung).
Re: Filter-Plugin verwirrt Pagination....
Posted: Mon Jul 30, 2012 2:13 pm
by garvinhicking
Hi!
Der Filter muss bei jedem Kategoriewechsel über externe Links neu angewendet werden; die Einstellungen merkt er sich nur wenn man die Blätterfunktion nutzt glaube ich...? Also das Fiterplugin ist wirklich nur eine aktive Umsortierung/Filterung, es ist nicht dafür gedacht um quasi "Defaultzustände" zu setzen.
Grüße,
Garvin