By maryedith on
Change record status:
Published (View all published change records)
Project:
Introduced in branch:
8.0.x
Issue links:
Description:
Following functions are deprecated
menu_primary_local_tasks()menu_secondary_local_tasks()menu_local_tabs()
use \Drupal\Core\Menu\LocalTaskManagerInterface::getLocalTasks() instead.
Examples
Now instead of menu_primary_local_tasks() for primary use:
<?php
/** @var \Drupal\Core\Menu\LocalTaskManagerInterface $manager */
$manager = \Drupal::service('plugin.manager.menu.local_task');
$links = $manager->getLocalTasks(\Drupal::routeMatch()->getRouteName(), 0);
?>
Now instead of menu_secondary_local_tasks() for secondary use:
<?php
/** @var \Drupal\Core\Menu\LocalTaskManagerInterface $manager */
$manager = \Drupal::service('plugin.manager.menu.local_task');
$links = $manager->getLocalTasks(\Drupal::routeMatch()->getRouteName(), 1);
?>
Now instead of menu_local_tabs() use local_tasks_block block or inline theming like:
/** @var \Drupal\Core\Menu\LocalTaskManagerInterface $manager */
$manager = \Drupal::service('plugin.manager.menu.local_task');
$primary = $manager->getLocalTasks(\Drupal::routeMatch()->getRouteName(), 0);
$secondary = $manager->getLocalTasks(\Drupal::routeMatch()->getRouteName(), 1);
$build = [
'#theme' => 'menu_local_tasks',
'#primary' => $primary ?: [],
'#secondary' => $secondary ?: [],
];
return $build;
Impacts:
Module developers