4

私のextbaseコントローラーアクションでは、ファイルがアップロードされた後に別のコントローラー/アクションにリダイレクトしたいので、呼び出します

$this->redirect('index', 'Download', null, null, $this->settings['listView']);

問題は、リダイレクト中に現在の言語パラメーターが失われることです。メソッド シグネチャでは、4 番目の位置に の配列を使用できますが、そこ$argumentsに入れるとL

$this->redirect('index', 'Download', null, array('L' => $GLOBALS['TSFE']->sys_language_uid), $this->settings['listView']);

リダイレクトは、これを次のような拡張パラメータでラップします

&tx_myext_controller[L]=0

だから私の質問は:現在の言語を extbase リダイレクトに追加するにはどうすればよいですか?

4

1 に答える 1

6

メソッドの名前空間をエスケープしたいときによく使う簡単なヒントです。$this->redirect私は を使用してい$this->redirectToUri($uri)ます。 $uriuriBuilder

$this->uriBuilder->reset()->setArguments(array('L' => $GLOBALS['TSFE']->sys_language_uid))->setTargetPageUid($this->settings['listView']);
$uri = $this->uriBuilder->uriFor('index', array(), 'Download');
$this->redirectToUri($uri);
于 2013-08-05T17:08:39.370 に答える