在routing.yml
Login:
url: /login
param: { module: access, action: login }
然后我有:
$module = 'access';
$action = 'login';
我想获取路由名称? //登录
getRoutingName($module, $action)
之类的内容会返回"login"
。
答案 0 :(得分:4)
您要找的是几乎 getRouteThatMatchesParameters
。它找到了一些参数的路径(模块,动作和查询字符串)。
这是一个从模块中检索路线名称的快速代码段。行动名称:
$routes = $this->getContext()->getRouting()->getRoutes();
foreach ($routes as $name => $route)
{
if ($route->matchesParameters(array('module' => 'access', 'action' => 'login'), $this->getContext()))
{
var_export($name);
break;
}
}
小心点。我放break
因为它可以检索多个路由(例如它通常会返回默认路由(通常是/:module/:action/*
))。
答案 1 :(得分:-3)
$currentRoute = $this->getContext()->getRouting()->getCurrentInternalUri(false);