📅  最后修改于: 2023-12-03 15:14:48.407000             🧑  作者: Mango
在 Drupal 中,要获取当前页面的路由名称或路径别名,可以使用 CurrentRouteMatch
类。这个类提供了一些方法来获取当前页面的路由信息。
要获取当前页面的路由名称,可以使用 getCurrentRouteMatch()
方法,然后使用 getRouteName()
方法获取路由名称。
$currentRouteMatch = \Drupal::service('current_route_match');
$routeName = $currentRouteMatch->getRouteName();
如果需要更详细的路由信息,可以使用 getCurrentRoute()
方法获取当前路由对象,然后就可以获取路由的各种属性了。
$currentRoute = \Drupal::routeMatch()->getCurrentRoute();
$routeName = $currentRoute->getRouteName();
$defaults = $currentRoute->getDefaults();
$requirements = $currentRoute->getRequirements();
$options = $currentRoute->getOptions();
如果需要判断当前页面是否为特定路由,可以使用 RouteMatchInterface::getRouteMatch()
方法获取 RouteMatchInterface
对象,然后使用 RouteMatchInterface::getRouteName()
方法来判断。
$currentRouteMatch = \Drupal::routeMatch();
$isNodeRoute = $currentRouteMatch->getRouteName() == 'entity.node.canonical';
使用 CurrentRouteMatch
类可以方便地获取当前页面的路由信息,包括路由名称、路由对象以及判断当前页面是否为特定路由。熟练掌握这些方法可以提高 Drupal 开发的效率。