Filter-Plugin verwirrt Pagination....

Hier können Probleme und alles andere in Deutscher Sprache gelöst werden.
Post Reply
montebianco
Regular
Posts: 42
Joined: Tue Feb 28, 2012 9:13 am

Filter-Plugin verwirrt Pagination....

Post 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....
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Filter-Plugin verwirrt Pagination....

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
montebianco
Regular
Posts: 42
Joined: Tue Feb 28, 2012 9:13 am

Re: Filter-Plugin verwirrt Pagination....

Post 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.
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Filter-Plugin verwirrt Pagination....

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
montebianco
Regular
Posts: 42
Joined: Tue Feb 28, 2012 9:13 am

Re: Filter-Plugin verwirrt Pagination....

Post 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?
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Filter-Plugin verwirrt Pagination....

Post by garvinhicking »

Hi!

Sorry. Hat was gedauert aufgrund akuter Arbeitslast.

Ich habe den Bug gefunden in Zeile 229. Ändere dort:

Code: Select all

$offSet  = $perPage*$page;
in das:

Code: Select all

$offSet  = $perPage*($page-1);
Viele Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
montebianco
Regular
Posts: 42
Joined: Tue Feb 28, 2012 9:13 am

Re: Filter-Plugin verwirrt Pagination....

Post 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
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Filter-Plugin verwirrt Pagination....

Post by garvinhicking »

Hi!

Jupp, genau in jener welchen. :)

Grüße,
Garvin
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
montebianco
Regular
Posts: 42
Joined: Tue Feb 28, 2012 9:13 am

Re: Filter-Plugin verwirrt Pagination....

Post 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.... :-)
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Filter-Plugin verwirrt Pagination....

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
montebianco
Regular
Posts: 42
Joined: Tue Feb 28, 2012 9:13 am

Re: Filter-Plugin verwirrt Pagination....

Post 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.)
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Filter-Plugin verwirrt Pagination....

Post 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

Code: Select all

// die($query)
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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
montebianco
Regular
Posts: 42
Joined: Tue Feb 28, 2012 9:13 am

Re: Filter-Plugin verwirrt Pagination....

Post 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).
garvinhicking
Core Developer
Posts: 30022
Joined: Tue Sep 16, 2003 9:45 pm
Location: Cologne, Germany
Contact:

Re: Filter-Plugin verwirrt Pagination....

Post 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
# Garvin Hicking (s9y Developer)
# Did I help you? Consider making me happy: http://wishes.garv.in/
# or use my PayPal account "paypal {at} supergarv (dot) de"
# My "other" hobby: http://flickr.garv.in/
Post Reply