W moim niestandardowym module obsługi przesyłania chcę przekierować do adresu URL strony widoku, załóżmy, że moja nazwa widoku to zespół, a jego ścieżka brzmi /admin/team
: wiem, że powinienem użyć, $from_state->setRedirect('route');
ale kiedy próbowałem $from_state->setRedirect('/admin/team');
W obliczu błędu, jak mogę uzyskać nazwę trasy widoku?
16
route_name: view.YOUR_CUSTOM_MODULE_CONTAINS_CUSTOM_CONTENT_TYPE.page_1
jeśli page_1 jest nazwą trybu widoku strony.Odpowiedzi:
Prawidłowa nazwa routera dla widoku to
view.VIEW_MACHINE_NAME.PAGE_MACHINENAME
(innymi słowy"view.$view_id.$display_id"
). spróbuj czegoś takiegoi dla twojej sprawy
Lean more: Jak sformułować nazwę trasy
po komentarzu @ 4k4 Możesz również przekierować formularz na niestandardowy router z adresem URL
po prostu potrzebuję użycia
$form_state->setRedirectUrl($url)
źródło
$form_state->setRedirect('view.VIEW_MACHINE_NAME.PAGE_MACHINENAME');
Aby użyć filtrów kontekstowych widoków jako parametrów, użyj argumentu arg_X, np.
źródło
Webprofiler modułu devel pozwala zobaczyć trasę dowolnej strony.
Wyświetla również liczbę zapytań DB wykonanych na stronie, a także czas żądania oprócz wielu innych funkcji.
Jest dostępny dla Drupal 7 i 8.
źródło
Prosty przykład: zadziała :)
źródło
W przypadku Durpal 8 możesz również zajrzeć do tabeli bazy danych „routera”, aby uzyskać parametry redirct.
Poszukaj odpowiedniej wartości w kolumnie „nazwa” i porównaj z kolumną ścieżki.
źródło