验证后我有一个表单如果发生任何错误,页面将重定向到编辑本身,并显示错误消息。如何通过typo3中的redirect()传递先前的数据和错误消息?
$this->redirect($action_name,$controllername, $extensionName, array('data',$data));
是不是?
我的操作名称为'edit'
但是它会重定向到'list'
。请帮我解决此问题。
答案 0 :(得分:6)
传递给redirect-target的参数必须以关联数组的形式给出。关键是参数名称(如在actions方法标题中,没有$
),值是参数值。看起来像这样:
$this->redirect(
$action_name,
$controllername,
$extensionName,
[
'data' => $data
]
);
如何在URL中编码$data
取决于其类型。持久对象被编码为其ID,标量被编码为简单字符串。他们如何到达其他操作取决于操作类型提示和@param
注释。
要重定向到同一个控制器或扩展程序,您可以将$controllerName
和$extensionName
作为null
传递。
答案 1 :(得分:3)
参数作为具有键值对的数组传递,其中键是参数名称。这假定您的目标操作具有名为" data"的参数。
$this->redirect($action_name,$controllername, $extensionName, array('data' =>$data));
答案 2 :(得分:1)
Jost的回答足以解决您的问题,但如果您想了解更多信息: