繁体   English   中英

PaginateViewHelper重定向到请求页面

[英]PaginateViewHelper redirect to request page

我在索引操作中使用了TYPO3\\Fluid\\ViewHelpers\\PaginateViewHelper ,其中列出了一些项目。 每个项目都有动态执行的动作,因此在调用并处理动作之后,它又返回到索引动作。

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

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

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

要保留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

你可以做这样的事情

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM