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