You are here

public function HorizontalMenu::getCacheContexts in Responsive and off-canvas menu 4.4.x

Same name and namespace in other branches
  1. 8.3 src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
  2. 8.2 src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
  3. 4.0.x src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
  4. 4.1.x src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()
  5. 4.3.x src/Plugin/Block/HorizontalMenu.php \Drupal\responsive_menu\Plugin\Block\HorizontalMenu::getCacheContexts()

Overrides ContextAwarePluginTrait::getCacheContexts

File

src/Plugin/Block/HorizontalMenu.php, line 179

Class

HorizontalMenu
Provides the HorizontalMenu block.

Namespace

Drupal\responsive_menu\Plugin\Block

Code

public function getCacheContexts() {

  // ::build() uses MenuLinkTreeInterface::getCurrentRouteMenuTreeParameters()
  // to generate menu tree parameters, and those take the active menu trail
  // into account. Therefore, we must vary the rendered menu by the active
  // trail of the rendered menu.
  // Additional cache contexts, e.g. those that determine link text or
  // accessibility of a menu, will be bubbled automatically.
  $menu_name = $this->config
    ->get('horizontal_menu');

  // Allow other modules to modify the menu name.
  $this->moduleHandler
    ->alter('responsive_menu_horizontal_menu_name', $menu_name);
  return Cache::mergeContexts(parent::getCacheContexts(), [
    'route.menu_active_trails:' . $menu_name,
  ]);
}