我正在设计一个网站,其中包含两个不同网页上的我的群组和其他群组。我的组和其他组都可以选择查看重定向到members.phtml
页面的每个组的成员。
现在,我想在顶部的members.phtml
页面上添加一个返回按钮,该按钮将转到上一页(我的组/其他组)。有没有办法保存当前网址并将其发送到members.phtml
页?
答案 0 :(得分:1)
您可以使用重定向插件并在网址中添加查询参数previous
。请查看this answer以获取示例,然后检查重定向插件上的ZF2 documentation here。它会变成这样:
http://www.example.com/members.phtml?previous=my_groups
在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
访问的,您可以相应地渲染后退按钮。
评论后的一些额外信息......
您可以使用以下命令查找当前页面网址:
$this->getRequest()->getRequestUri();
或者您可以获得当前匹配的路线:
$this->getMvcEvent()->getRouteMatch()->getMatchedRouteName();
您可以使用它来动态添加上一个网址。