You are here

interface LocalTaskManagerInterface in Drupal 10

Same name and namespace in other branches
  1. 8 core/lib/Drupal/Core/Menu/LocalTaskManagerInterface.php \Drupal\Core\Menu\LocalTaskManagerInterface
  2. 9 core/lib/Drupal/Core/Menu/LocalTaskManagerInterface.php \Drupal\Core\Menu\LocalTaskManagerInterface

Manages discovery and instantiation of menu local task plugins.

This manager finds plugins that are rendered as local tasks (usually tabs). Derivatives are supported for modules that wish to generate multiple tabs on behalf of something else.

Hierarchy

Expanded class hierarchy of LocalTaskManagerInterface

All classes that implement LocalTaskManagerInterface

1 file declares its use of LocalTaskManagerInterface
LocalTasksBlock.php in core/lib/Drupal/Core/Menu/Plugin/Block/LocalTasksBlock.php

File

core/lib/Drupal/Core/Menu/LocalTaskManagerInterface.php, line 15

Namespace

Drupal\Core\Menu
View source
interface LocalTaskManagerInterface extends PluginManagerInterface {

  /**
   * Gets the title for a local task.
   *
   * @param \Drupal\Core\Menu\LocalTaskInterface $local_task
   *   A local task plugin instance to get the title for.
   *
   * @return string
   *   The localized title.
   */
  public function getTitle(LocalTaskInterface $local_task);

  /**
   * Find all local tasks that appear on a named route.
   *
   * @param string $route_name
   *   The route for which to find local tasks.
   *
   * @return array
   *   Returns an array of task levels. Each task level contains instances
   *   of local tasks (LocalTaskInterface) which appear on the tab route.
   *   The array keys are the depths and the values are arrays of plugin
   *   instances.
   */
  public function getLocalTasksForRoute($route_name);

  /**
   * Gets the render array for all local tasks.
   *
   * @param string $current_route_name
   *   The route for which to make renderable local tasks.
   * @param \Drupal\Core\Cache\RefinableCacheableDependencyInterface $cacheability
   *   The cacheability metadata for the local tasks.
   *
   * @return array
   *   A render array as expected by menu-local-tasks.html.twig.
   */
  public function getTasksBuild($current_route_name, RefinableCacheableDependencyInterface &$cacheability);

  /**
   * Renders the local tasks (tabs) for the given route.
   *
   * @param string $route_name
   *   The route for which to make renderable local tasks.
   * @param int $level
   *   The level of tasks you ask for. Primary tasks are 0, secondary are 1.
   *
   * @return array
   *   An array containing
   *   - tabs: Local tasks render array for the requested level.
   *   - route_name: The route name for the current page used to collect the
   *     local tasks.
   *
   * @see hook_menu_local_tasks_alter()
   */
  public function getLocalTasks($route_name, $level = 0);

}

Members

Namesort descending Modifiers Type Description Overrides
DiscoveryInterface::getDefinition public function Gets a specific plugin definition. 4
DiscoveryInterface::getDefinitions public function Gets the definition of all plugins for this type. 3
DiscoveryInterface::hasDefinition public function Indicates if a specific plugin definition exists. 1
FactoryInterface::createInstance public function Creates a pre-configured instance of a plugin. 5
LocalTaskManagerInterface::getLocalTasks public function Renders the local tasks (tabs) for the given route. 1
LocalTaskManagerInterface::getLocalTasksForRoute public function Find all local tasks that appear on a named route. 1
LocalTaskManagerInterface::getTasksBuild public function Gets the render array for all local tasks. 1
LocalTaskManagerInterface::getTitle public function Gets the title for a local task. 1
MapperInterface::getInstance public function Gets a preconfigured instance of a plugin. 3