0

我正在设计一个网站,其中包含我的组和其他组,它们出现在两个不同的网页上。我的组和其他组都可以选择查看重定向到members.phtml页面的每个组的成员。
现在我想members.phtml在顶部的页面上添加一个返回按钮,该按钮将转到上一页(我的组/其他组)。有没有办法保存当前的 url 并将其发送到members.phtml页面?

4

1 回答 1

1

您可以使用重定向插件并将查询参数添加previous到 url。查看此答案以获取示例,并在此处查看有关重定向插件的ZF2 文档。它会变成这样:

http://www.example.com/members.phtml?previous=my_groups

在您将重定向 url 添加到成员页面的路由控制器中,您my_groups需要将查询参数添加到重定向路由:

$previous = 'my_groups';
$this->redirect()->toRoute(
    'members', 
    array(
        'action' => 'index'
    ),
    array( 'query' => array(
        'previous' => $previous
    ))
);

现在,当members.phtml页面被请求时,您可以在请求对象的查询参数中找到上一页。您可以像这样在控制器中轻松访问它:

$previous = $this->params()->fromQuery('previous'); // my_groups

现在您知道是否从my_groups或访问了成员页面other_groups,您可以相应地呈现后退按钮。

更新

评论后的一些额外信息......

例如,您可以使用以下方法找到当前页面 url:

$this->getRequest()->getRequestUri();

或者你可以得到当前匹配的路由:

$this->getMvcEvent()->getRouteMatch()->getMatchedRouteName();

您可以使用它来动态添加以前的网址。

于 2016-11-22T08:36:50.760 回答