在我的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重定向?
答案 0 :(得分:6)
我想在转义 $this->redirect
方法的名称空间时经常使用的快速提示。我正在使用$this->redirectToUri($uri)
,其中$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);