Mi-am dat seama, sper că asta va ajuta pe altcineva cu o întrebare similară.
În loc să faci o $formstate->setRebuild();
în submitForm
metoda, am schimbat-o la
$form_state->setRedirect(
„sliker_drupal_backend.browser”,
[],
[
'interogare' =>[
'logic'=>$form_state->getValue('logic'),
'articole'=>$form_state->getValue('articole'),
'frază'=>$form_state->getValue('frază'),
'vizibilitate'=>$form_state->getValue('vizibilitate'),
'ids'=>$form_state->getValue('ids'),
],
]);
cel setRedirect()
metoda are trei argumente:
- Numele mașinii de traseu
- Argumente (pentru a completa „substituenți” în traseul)
- Opțiuni care sunt orice opțiuni care pot fi transmise la a
\Drupal\Core\Url
Prin căutarea codului, opțiunile găsite sunt o matrice asociativă și cheile pot fi oricare dintre:
- „interogare”: o matrice de perechi cheie/valoare de interogare (fără codificare URL) pentru a le adăuga la adresa URL.
- „fragment”: un identificator de fragment (numit ancora) de adăugat la adresa URL. Nu includeți primul caracter „#”.
- „absolut”: implicit este FALSE. Dacă să forțați ieșirea să fie o legătură absolută (începând cu http:). Util pentru link-uri care vor fi afișate în afara site-ului, cum ar fi într-un flux RSS.
- „atribute”: o matrice asociativă de atribute HTML care va fi adăugată etichetei de ancorare dacă utilizați clasa \Drupal\Core\Link pentru a realiza legătura.
- „limbaj”: un obiect limbaj opțional folosit pentru a căuta alias pentru adresa URL. Dacă $options['language'] este omis, va fi implicit limba curentă pentru tipul de limbă LanguageInterface::TYPE_URL.
- „https”: dacă această adresă URL ar trebui să trimită către o locație sigură. Dacă nu este definită, se utilizează schema curentă, astfel încât utilizatorul rămâne pe HTTP sau respectiv HTTPS. TRUE impune HTTPS și FALSE impune HTTP.
Apoi mi-am actualizat logica în compilarea formularului pentru a căuta parametrii de interogare și pentru a utiliza acele informații dacă sunt prezente.
Vedea https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Form!FormState.php/function/FormState%3A%3AsetRedirect/8.9.x pentru mai multe informații despre setRedirect()
.