PaginateViewHelper重定向到请求页面

时间:2017-02-07 04:40:08

标签: php typo3 fluid flow-framework

我在我的索引操作中使用TYPO3\Fluid\ViewHelpers\PaginateViewHelper列出了一些项目。每个项目都有即时完成的操作,因此在调用并处理操作后,它将返回到索引操作。

public function deleteAction(Item $item) {
    $this->itemService->remove($item);
    $this->redirect('index');
}

不幸的是,在这种情况下,我被重定向到索引的第一页。是否有可能重定向到我触发删除操作的页面?我是否也可以获得发送给PaginateController的子请求的参数?

我知道我可以使用AJAX调用或编写我自己的分页,但如果可能的话,我想使用现有的解决方案。

2 个答案:

答案 0 :(得分:0)

要保留GET参数,您可以在LinkViewHelper中使用addQueryString =“1”......这可能足以在控制器中使用redirect()时保留当前页面。

否则,您可以使用控制器的UriBuilder生成包含分页中所需页面的URI和其他参数,然后使用函数redirectToUri()将用户重定向到所需的URI。

https://typo3.org/api/typo3cms/class_t_y_p_o3_1_1_c_m_s_1_1_extbase_1_1_mvc_1_1_web_1_1_routing_1_1_uri_builder.html

答案 1 :(得分:0)

您可以这样做

$referringRequest = $this->request->getReferringRequest();
if ($referringRequest !== null) {
    $this->redirectToRequest($referringRequest);
}

仅当引用请求与原始请求一起发送时才有效(流体形式就是这种情况),您应该将其用于不安全的请求(POST,PUT,DELETE)。