You are here

public function MenuActiveTrailsCacheContext::getContext in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php \Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext::getContext()
  2. 9 core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php \Drupal\Core\Cache\Context\MenuActiveTrailsCacheContext::getContext()

Returns the string representation of the cache context.

A cache context service's name is used as a token (placeholder) cache key, and is then replaced with the string returned by this method.

Parameters

string|null $parameter: The parameter, or NULL to indicate all possible parameter values.

Return value

string The string representation of the cache context. When $parameter is NULL, a value representing all possible parameters must be generated.

Throws

\LogicException Thrown if the passed in parameter is invalid.

Overrides CalculatedCacheContextInterface::getContext

File

core/lib/Drupal/Core/Cache/Context/MenuActiveTrailsCacheContext.php, line 29

Class

MenuActiveTrailsCacheContext
Defines the MenuActiveTrailsCacheContext service.

Namespace

Drupal\Core\Cache\Context

Code

public function getContext($menu_name = NULL) {
  if (!$menu_name) {
    throw new \LogicException('No menu name provided for menu.active_trails cache context.');
  }
  $active_trail = $this->container
    ->get('menu.active_trail')
    ->getActiveTrailIds($menu_name);
  return 'menu_trail.' . $menu_name . '|' . implode('|', $active_trail);
}