カスタム送信ハンドラで、ビューページのURLにリダイレクトしたい場合、ビュー名がteamで、パスが_/admin/team
_であるとします。$from_state->setRedirect('route');
が、$from_state->setRedirect('/admin/team');
エラーが発生した場合、どのようにしてビュールート名を取得できますか?
ビューの正しいルート名は_view.VIEW_MACHINE_NAME.PAGE_MACHINENAME
_(別のWordでは_"view.$view_id.$display_id"
_)です。次のようなことを試してください
_use \Drupal\Core\Url;
$url = Url::fromRoute('view.VIEW_MACHINE_NAME.PAGE_MACHINENAME');
$form_state->setRedirectUrl($url);
_
そしてあなたの場合
_$url = Url::fromRoute('view.team.page_1'); // page_1 is my guess as to your page name, please replace it with your page machine_name
_
無駄を省く: ルート名を作成する方法
@ 4k4コメントの後、URLを使用してフォームをカスタムルーターにリダイレクトすることもできます
$form_state->setRedirectUrl($url)
を使用するだけです
ビューのコンテキストフィルターをパラメーターとして使用するには、arg_X、feを使用します。
$url = Url::fromRoute('view.team.page_1', ['arg_0' => 1234]);
devel モジュールのWebprofilerを使用すると、任意のページのルートを確認できます。
また、ページで実行されたDBクエリの数とリクエスト時間も表示されます。他の多くの機能に加えて。
Drupal 7および8で利用可能です。
簡単な例:それは動作します:)
use Drupal\Core\Url;
$form_state->setRedirect('view.VIEW_MACHINE_NAME.PAGE_MACHINENAME'); // view.my_view.page_1
Durpal 8の場合、「ルーター」データベーステーブルを調べて、再パラメーターを取得することもできます。
「名前」列で対応する値を探し、パス列と比較します。
$from_state->setRedirect('YOUR_DB_VALUE_HERE');