分页视图助手重定向到请求页面



我在索引操作中使用TYPO3FluidViewHelpersPaginateViewHelper,其中列出了一些项目。每个项目都有动态完成的操作,因此在调用和处理操作后,它会返回到索引操作。

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(。

最新更新