MenuActiveTrailInterface.php 1.15 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
<?php

namespace Drupal\Core\Menu;

/**
 * Defines an interface for the active menu trail service.
 *
 * The active trail of a given menu is the trail from the current page to the
 * root of that menu's tree.
 */
interface MenuActiveTrailInterface {

  /**
   * Gets the active trail IDs of the specified menu tree.
   *
alexpott's avatar
alexpott committed
16
   * @param string|null $menu_name
17 18
   *   (optional) The menu name of the requested tree. If omitted, all menu
   *   trees will be searched.
19 20 21 22 23 24 25 26 27
   *
   * @return array
   *   An array containing the active trail: a list of plugin IDs.
   */
  public function getActiveTrailIds($menu_name);

  /**
   * Fetches a menu link which matches the route name, parameters and menu name.
   *
alexpott's avatar
alexpott committed
28
   * @param string|null $menu_name
29 30 31
   *   (optional) The menu within which to find the active link. If omitted, all
   *   menus will be searched.
   *
32
   * @return \Drupal\Core\Menu\MenuLinkInterface|null
33 34 35 36 37 38 39
   *   The menu link for the given route name, parameters and menu, or NULL if
   *   there is no matching menu link or the current user cannot access the
   *   current page (i.e. we have a 403 response).
   */
  public function getActiveLink($menu_name = NULL);

}