在redirect() - Typo3中传递数据

Asw*_*y S 1 php model-view-controller typo3 extbase

验证后我有一个表单,如果发生任何错误,页面将重定向到编辑本身,并显示错误消息.如何通过typo3中的redirect()传递先前的数据和错误消息?

$this->redirect($action_name,$controllername, $extensionName, array('data',$data));
Run Code Online (Sandbox Code Playgroud)

这样对吗?

我的行动名称是,'edit'但它重定向到'list'.请帮我解决这个问题.

Jos*_*ost 6

传递给redirect-target的参数必须以关联数组的形式给出.关键是参数名称(如在actions方法标题中,没有$),值是参数值.看起来像这样:

$this->redirect(
    $action_name,
    $controllername,
    $extensionName,
    [
        'data' => $data
    ]
);
Run Code Online (Sandbox Code Playgroud)

究竟是如何$data在URL编码取决于其类型.持久对象被编码为其ID,标量被编码为简单字符串.他们如何到达其他行动取决于行动类型提示和@param注释.

要重定向到同一个控制器或扩展,您可以传递$controllerName和$extensionNameas null.