如何将用户重定向到上一页 zend framework 3
How to redirect user to previous page zend framework 3
我正在设计一个网站,我的群组和其他群组分别位于两个不同的网页上。我的群组和其他群组都可以选择查看重定向到 members.phtml
页面的每个群组的成员。
现在我想在顶部的 members.phtml
页面上添加一个后退按钮,该按钮将转到上一页(我的 groups/other 组)。有没有办法保存当前 url 并将其发送到 members.phtml
页面?
您可以使用重定向插件并将查询参数 previous
添加到 url。检查重定向插件上的 this answer for an example and check the ZF2 documentation here。它会变成这样:
http://www.example.com/members.phtml?previous=my_groups
在您的 my_groups
路由的控制器中,您将重定向 url 添加到您的会员页面,您需要将查询参数添加到重定向路由:
$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();
而且你可以用这个动态添加之前的url.
我正在设计一个网站,我的群组和其他群组分别位于两个不同的网页上。我的群组和其他群组都可以选择查看重定向到 members.phtml
页面的每个群组的成员。
现在我想在顶部的 members.phtml
页面上添加一个后退按钮,该按钮将转到上一页(我的 groups/other 组)。有没有办法保存当前 url 并将其发送到 members.phtml
页面?
您可以使用重定向插件并将查询参数 previous
添加到 url。检查重定向插件上的 this answer for an example and check the ZF2 documentation here。它会变成这样:
http://www.example.com/members.phtml?previous=my_groups
在您的 my_groups
路由的控制器中,您将重定向 url 添加到您的会员页面,您需要将查询参数添加到重定向路由:
$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();
而且你可以用这个动态添加之前的url.