interface LocalTaskManagerInterface

Same name in other branches
  1. 9 core/lib/Drupal/Core/Menu/LocalTaskManagerInterface.php \Drupal\Core\Menu\LocalTaskManagerInterface
  2. 8.9.x core/lib/Drupal/Core/Menu/LocalTaskManagerInterface.php \Drupal\Core\Menu\LocalTaskManagerInterface
  3. 11.x 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

  • interface \Drupal\Component\Plugin\Discovery\DiscoveryInterface; interface \Drupal\Component\Plugin\Factory\FactoryInterface; interface \Drupal\Component\Plugin\Mapper\MapperInterface
    • interface \Drupal\Component\Plugin\PluginManagerInterface extends \Drupal\Component\Plugin\Discovery\DiscoveryInterface \Drupal\Component\Plugin\Factory\FactoryInterface \Drupal\Component\Plugin\Mapper\MapperInterface

Expanded class hierarchy of LocalTaskManagerInterface

All classes that implement LocalTaskManagerInterface

2 files declare their use of LocalTaskManagerInterface
LocalTasksBlock.php in core/lib/Drupal/Core/Menu/Plugin/Block/LocalTasksBlock.php
NavigationRenderer.php in core/modules/navigation/src/NavigationRenderer.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

Title Sort descending Modifiers Object type Summary
LocalTaskManagerInterface::getLocalTasks public function Renders the local tasks (tabs) for the given route.
LocalTaskManagerInterface::getLocalTasksForRoute public function Find all local tasks that appear on a named route.
LocalTaskManagerInterface::getTasksBuild public function Gets the render array for all local tasks.
LocalTaskManagerInterface::getTitle public function Gets the title for a local task.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.