0

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

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

不幸的是,在这种情况下,我被重定向到 index.html 的第一页。是否有可能重定向到我触发删除操作的页面?我还可以获取子请求发送到的参数PaginateController吗?

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

4

2 回答 2

0

你可以做这样的事情

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

这仅适用于引用请求与原始请求一起发送的情况,流体表单就是这种情况,您应该将其用于不安全的请求(POST、PUT、DELETE)。

于 2018-08-01T11:12:39.880 回答
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

于 2017-02-07T14:29:56.257 回答