You are here

public static function MenuChildren::buildRouteIdentifier in Views Menu Node Children Filter 8

Same name and namespace in other branches
  1. 8.2 src/Plugin/views/argument/MenuChildren.php \Drupal\views_menu_children_filter\Plugin\views\argument\MenuChildren::buildRouteIdentifier()
  2. 3.0.x src/Plugin/views/argument/MenuChildren.php \Drupal\views_menu_children_filter\Plugin\views\argument\MenuChildren::buildRouteIdentifier()

Creates a string representing menu link for static caching. Example output: menu_name:route_name:route_param1_key:route_param1_value

Parameters

string $menu_name:

string $route_name:

array $route_parameters Example: [ 'node': 1 ]:

Return value

string

1 call to MenuChildren::buildRouteIdentifier()
MenuChildren::getMenuLinkFromTargetUrl in src/Plugin/views/argument/MenuChildren.php
Takes a path (url) and finds the matching MenuLink within the provided menus.

File

src/Plugin/views/argument/MenuChildren.php, line 202

Class

MenuChildren
A filter to show menu children of a parent menu item

Namespace

Drupal\views_menu_children_filter\Plugin\views\argument

Code

public static function buildRouteIdentifier($menu_name, $route_name, array $route_parameters) {

  // Merge the keys and values of the $route_parameters array into a zipper like fashion.
  $zipped_arrays = array_map(NULL, array_keys($route_parameters), array_values($route_parameters));
  $parameters = '';
  if (!empty(reset($zipped_arrays))) {
    $parameters = implode(":", reset($zipped_arrays));
  }
  return "{$menu_name}:{$route_name}:" . $parameters;
}