Open christophboecker opened 1 year ago
Ich helfe mir erstmal mit diesem Workaround in der project/boot.php
(start=0
rauswerfen wenn es in der Url schon ein e7935559_start=50
gibt):
\rex_extension::register('YFORM_MANAGER_DATA_PAGE',function($ep) {
$list = rex_request::request('list','string','');
if( '' === $list) {
return;
}
$list_start = rex_request::request($list.'_start','string','');
if( '' === $list_start) {
return;
}
$start = rex_request::request('start','string','');
if( '0' === $start ) {
unset($_REQUEST['start']);
}
});
Hier der Case: Eine Tabelle im BE-Tablemanager hat 140 Sätze auf drei Seiten. Auf Seite 2 oder 3 rufe ich einen Datensatz in den Editor und habe über dem Formular den Link “Zurück zur Übersicht”. Es gab Zeiten, in denen man dann bei Klick auf den Link (oder beim Speichern) wieder auf Seite 2 oder 3 der Tabelle landete. Das ist bei mir nicht mehr der Fall. Ich lande stets auf Seite 1. Getestet mit einem frischen System plus YForm dazu. @skerbis hat gegengeprüft und bestätigt das Problem.
Die Situation entsteht durch zwei verschiedene Url-Parameter, die den Start der Folgeseite festlegen. Der Link der Paginator-Seiten ist z.B.
index.php?page=yform/manager/data_edit&table_name=.....&start=0&.....&e7935559_start=50
Der Zurück-Link über dem Formular sieht ungefähr so aus:
index.php?page=yform/manager/data_edit&table_name=.....&start=0&.....
. Nichts mehr vone7935559_start=50
zu sehen.Der Wert für
start
wird hier ermittelt: https://github.com/yakamara/redaxo_yform/blob/3ce797de2238dcbc691c2be5b36582a7efbd8612/plugins/manager/lib/yform/manager.php#L83-L87Logisch, dass hier für
$rex_yform_list['start']
nicht eine7935559_start=50
herangezogen wird, sondernstart=0
. Aber ist hier der ursächliche Fehler bzw. was könnte denn die ursächliche Fehlerquelle sein?start=0
eigentlich gar nicht (initial) vorkommen dürfte?0
stattnull
geprüft werden müsste?start=50
gesetzt sein müsste stattstart=0
(aber wäre dann nicht einer der Parameter überflüssig?)