在我的extbase控制器操作中,我想在上传文件后重定向到另一个控制器/操作,所以我打电话
$this->redirect('index', 'Download', null, null, $this->settings['listView']);
Run Code Online (Sandbox Code Playgroud)
问题是,当前语言参数在重定向期间丢失.方法签名允许$arguments在第四个位置上的数组,但是如果我放在L那里
$this->redirect('index', 'Download', null, array('L' => $GLOBALS['TSFE']->sys_language_uid), $this->settings['listView']);
Run Code Online (Sandbox Code Playgroud)
重定向用扩展参数之类的东西包装它
&tx_myext_controller[L]=0
Run Code Online (Sandbox Code Playgroud)
所以我的问题是:如何将当前语言添加到extbase重定向?
只是快速提示我经常在想要逃避$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);
Run Code Online (Sandbox Code Playgroud)