s9y Suche mit Umlauten und Pagination -> Fehler
-
kleinerChemiker
- Regular
- Posts: 765
- Joined: Tue Oct 17, 2006 2:36 pm
- Location: Vienna/Austria
- Contact:
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Und ist möglicherweise recht einfach zu lösen, wie ich schon sagte....
Vielleicht geht das auch noch ein wenig hübscher, aber,
ersetzt mal in der function_entries.inc.php ab Z 921
mit
Bei mir funktioniert es dann. Ich konnte leider in Ermangelung vieler Seiten für das Searchterm nur mit zwei Seiten erfolgreich testen. Allerdings ist dies nur ein Workaround, da die eigentliche Dekodierung woanders stattfinden muss ( und es für {$footer_next_page} auch tut )!
Ian
Vielleicht geht das auch noch ein wenig hübscher, aber,
ersetzt mal in der function_entries.inc.php ab Z 921
Code: Select all
$uriArguments = $serendipity['uriArguments'];
$uriArguments[] = 'P%s';
$serendipity['smarty']->assign('footer_totalEntries', $totalEntries);
$serendipity['smarty']->assign('footer_totalPages', $totalPages);
$serendipity['smarty']->assign('footer_currentPage', $serendipity['GET']['page']);
$serendipity['smarty']->assign('footer_pageLink', str_replace('%2A', '*', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix)));
$serendipity['smarty']->assign('footer_info', sprintf(PAGE_BROWSE_ENTRIES, (int)$serendipity['GET']['page'], $totalPages, $totalEntries));
Code: Select all
$uriArguments = $serendipity['uriArguments'];
$uriArguments[] = 'P%s';
$uriArguments[1] = str_replace(array(' ', '%2A'), array('+', '*'), urldecode($uriArguments[1]));
$serendipity['smarty']->assign('footer_totalEntries', $totalEntries);
$serendipity['smarty']->assign('footer_totalPages', $totalPages);
$serendipity['smarty']->assign('footer_currentPage', $serendipity['GET']['page']);
$serendipity['smarty']->assign('footer_pageLink', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix));
$serendipity['smarty']->assign('footer_info', sprintf(PAGE_BROWSE_ENTRIES, (int)$serendipity['GET']['page'], $totalPages, $totalEntries));
Ian
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Ich kann hier nur noch bedingt folgen, hab auch ingesamt zuviele Testbaustellen offen -- sehe ich es richtig, dass der Fehler im Kern liegt und nichts am Paginations-Code in den Templates geändert werden müsste? Dann würde ich mich hier ausklinken und darauf verlassen, dass Ihr das schon wuppt. Wäre 'ne echte Erleichterung für mich 
YL
YL
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Kann ich hier bestätigen. Danke schon mal für den Würgaround!Timbalu wrote:Bei mir funktioniert es dann.
Bye,
Freudi
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Eigentlich ja, aber ...yellowled wrote:... sehe ich es richtig, dass der Fehler im Kern liegt und nichts am Paginations-Code in den Templates geändert werden müsste? Dann würde ich mich hier ausklinken und darauf verlassen, dass Ihr das schon wuppt. Wäre 'ne echte Erleichterung für mich
ich hatte mit meiner kleinen Testung die komische Erfahrung gemacht, dass ich nur vorwärts paginieren konnte. Von der letzten Seite an zeigt er die Pagination zurück zur ersten nicht mehr an. (Und das ist anders als beim Blog vom kleinen Chemiker...) An wem das genau liegt, kann ich auch nicht so schnell sagen.
An dieser Stelle wäre vielleicht Garvin gefordert...
Ian
-
kleinerChemiker
- Regular
- Posts: 765
- Joined: Tue Oct 17, 2006 2:36 pm
- Location: Vienna/Austria
- Contact:
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Im Grunde war mein erster Patch schon (fast) richtig. Ich habe lediglich übersehen, daß bei sprintf() nicht ein \ als Escape-Zeichen dient, sondern man ein % verwenden muß. Daher muß man nur function_entries.inc.php Zeile 921 von
in
ändern.
Code: Select all
$uriArguments = $serendipity['uriArguments'];Code: Select all
$uriArguments = str_replace('%', '%%', $serendipity['uriArguments']);Re: s9y Suche mit Umlauten und Pagination -> Fehler
das sieht gut aus, klappt bei mir local aber nicht!
Nur so
Dabei bin ich auch drauf gestoßen warum manchmal keine back navigation angezeigt wird...
Dies ist bei mir der Fall, wenn keine statischen Seiten in der Suche gefunden werden. Wenn ihr wißt woran das liegt, bitte posten.
Ian
Nur so
Code: Select all
$uriArguments[1] = str_replace(array('%2A', ' ', '%'), array('*', '+', '%%'), $uriArguments[1]);
$serendipity['smarty']->assign('footer_pageLink', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix));
Dies ist bei mir der Fall, wenn keine statischen Seiten in der Suche gefunden werden. Wenn ihr wißt woran das liegt, bitte posten.
Ian
-
kleinerChemiker
- Regular
- Posts: 765
- Joined: Tue Oct 17, 2006 2:36 pm
- Location: Vienna/Austria
- Contact:
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Welche Version von php bzw. s9y nutzt du?
Bei mir funktioniert es sowohl lokal als auch im Blog. Lokal werden ganz sicher keine statischen Seiten gefunden, denn ich habe keine, nicht mal das Plugin installiert.
eventuell kannst du ja mal die unterste Zeile ergänzen
und im Quelltext die Ausgabe suchen und hier posten.
Bei mir funktioniert es sowohl lokal als auch im Blog. Lokal werden ganz sicher keine statischen Seiten gefunden, denn ich habe keine, nicht mal das Plugin installiert.
eventuell kannst du ja mal die unterste Zeile ergänzen
Code: Select all
$uriArguments = $serendipity['uriArguments'];
$uriArguments[] = 'P%s';
var_dump($uriArguments);
Re: s9y Suche mit Umlauten und Pagination -> Fehler
soweit war ich ja auch schon 
aber dennoch
was ja bekanntlich bedeutet, dass man eigentlich nur key [1] behandeln muss. So ergibt es den bekannten Fehler.
Ian
aber dennoch
Code: Select all
$uriArguments = str_replace('%', '%%', $serendipity['uriArguments']);
$uriArguments[] = 'P%s';
var_dump($uriArguments);
=
array(3) { [0]=> string(6) "search" [1]=> string(19) "%%2A%%C3%%BCber+uns" [2]=> string(3) "P%s" } Ian
-
kleinerChemiker
- Regular
- Posts: 765
- Joined: Tue Oct 17, 2006 2:36 pm
- Location: Vienna/Austria
- Contact:
Re: s9y Suche mit Umlauten und Pagination -> Fehler
.) Ob man nur einen key verändert oder alle, ändert am Fehler nichts. Ich bevorzuge aber alle keys, da man ja nicht immer sicher sein kann, daß das Suchwort an dieser Stelle kommt.
Scheinbar machen nicht nur Umlaute Probleme. Du suchst ja schienbar nach "*Über uns"
Daher funzt deine Version auch. " " sollte man eigentlich nicht ersetzen müssen, aber schaden wirds kaum. Eventuell sollte man aber noch weitere Sonderzeichen ausprobieren, oder sich überhaupt was anderes überlegen.
Scheinbar machen nicht nur Umlaute Probleme. Du suchst ja schienbar nach "*Über uns"
Daher funzt deine Version auch. " " sollte man eigentlich nicht ersetzen müssen, aber schaden wirds kaum. Eventuell sollte man aber noch weitere Sonderzeichen ausprobieren, oder sich überhaupt was anderes überlegen.
Re: s9y Suche mit Umlauten und Pagination -> Fehler
an dieser stelle aber ja ...kleinerChemiker wrote:.) Ob man nur einen key verändert oder alle, ändert am Fehler nichts. Ich bevorzuge aber alle keys, da man ja nicht immer sicher sein kann, daß das Suchwort an dieser Stelle kommt.
ja, das ist wegen der Möglichkeit mit Wildcards zu suchen ...Scheinbar machen nicht nur Umlaute Probleme. Du suchst ja schienbar nach "*Über uns"
Das Leerzeichen wird bei {$footer_next_page} auch durch + ersetzt und das wird irgendwo anders geschehen.Daher funzt deine Version auch. " " sollte man eigentlich nicht ersetzen müssen, aber schaden wirds kaum. Eventuell sollte man aber noch weitere Sonderzeichen ausprobieren, oder sich überhaupt was anderes überlegen.
-
kleinerChemiker
- Regular
- Posts: 765
- Joined: Tue Oct 17, 2006 2:36 pm
- Location: Vienna/Austria
- Contact:
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Ich denke, deine Version paßt schon. Man kann auch urldecode verwenden, was aber dazu führt, daß die Ausgabe nicht urlencoded ist (was aber kein Problem sein sollte). Sucht man nach % würde das aber vermutlich dann erst wieder stören.
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Nee, das stimmt leider nicht!
Meine Einstellung sind:
staticpages & paginator
Mit meiner Lösung lag ich grottenfalsch, da dies die normale Paginator Navigation (ohne Suche) so zerstört, dass die prev und next Pfeile zwar funktionieren, aber nicht mehr die Nummernavigation.
Ich habe das daher jetzt auf dieses hier reduziert.
Ersetze im Original
mit
Dies sollte eigentlich alles wieder erlauben, außer mein bestehendes Problem der fehlenden Such-Rückwärtspagination und (neu) der falschen Suchtreffer Anzeige auf den Folgeseiten, wenn keine statischen Seiten mit Suchtreffer vorliegen, bzw vorzuliegen scheinen.
Ian
Meine Einstellung sind:
staticpages & paginator
Mit meiner Lösung lag ich grottenfalsch, da dies die normale Paginator Navigation (ohne Suche) so zerstört, dass die prev und next Pfeile zwar funktionieren, aber nicht mehr die Nummernavigation.
Ich habe das daher jetzt auf dieses hier reduziert.
Ersetze im Original
Code: Select all
$serendipity['smarty']->assign('footer_pageLink', str_replace('%2A', '*', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix)));Code: Select all
if($serendipity['GET']['action'] == 'search') $uriArguments[1] = urldecode($uriArguments[1]);
$serendipity['smarty']->assign('footer_pageLink', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix));
Ian
Re: s9y Suche mit Umlauten und Pagination -> Fehler
After some more investigation.... I think I have solved the sprintf error having Non-ASCII characters....
Replace my last replace with:
and edit your bulletproof entries.tpl ~line 448, replace
with
Do not ask, why?, but this works! 
Still got my issues error...!
Ian
Replace my last replace with:
Code: Select all
if($serendipity['GET']['action'] == 'search') {
$uriArguments[1] = str_replace(array(' ', '%'), array('+', '%25'), urldecode($uriArguments[1]));
}
$serendipity['smarty']->assign('footer_pageLink', str_replace('%2A', '*', serendipity_rewriteURL(implode('/', $uriArguments) . $suffix)));
Code: Select all
<a href="{$smarty.section.i.index|string_format:$footer_pageLink}">{$smarty.section.i.index}</a>
Code: Select all
<a href="{$footer_pageLink|replace:"%s":$smarty.section.i.index}">{$smarty.section.i.index}</a>
Still got my issues error...!
Ian
Re: s9y Suche mit Umlauten und Pagination -> Fehler
Hi
Good news!
Just found out, you do not need to change function_entries.inc.php at all!
Just do the bulletproof entries thing!
Ian
Good news!
Just found out, you do not need to change function_entries.inc.php at all!
Just do the bulletproof entries thing!
Ian