4

在我的 extbase 控制器操作中,我想在上传文件后重定向到另一个控制器/操作,所以我打电话

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

问题是,当前语言参数在重定向期间丢失。方法签名允许在第四个位置的数组$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)where$uri准备好uriBuilder(这可能比普通重定向更灵活)。

$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 回答