Ссылка меню узла не соответствует активному следу, когда несколько элементов указывают на один и тот же узел - PullRequest
0 голосов
/ 05 ноября 2018

Когда один и тот же узел применяется к нескольким пунктам меню, тогда inActiveTrail сбудется для первого вместо текущего меню нажал один.

Для целей тестирования на сайте drupal 8 создайте многоуровневое меню и примените приведенный ниже код, и он выведет текущий активный массив меню. Просто пропустите $currentlinkId и $parameters->setRoot, чтобы увидеть inActiveTrail в массиве.

$menu_tree = \Drupal::menuTree();
$menu_name = 'main';

$parameters = $menu_tree->getCurrentRouteMenuTreeParameters($menu_name);
$currentLinkId = reset($parameters->activeTrail);
$parameters->setRoot($currentLinkId);
$tree = $menu_tree->load($menu_name, $parameters);

// Transform the tree using the manipulators you want.
$manipulators = array(
    // Only show links that are accessible for the current user.
    array('callable' => 'menu.default_tree_manipulators:checkAccess'),
    // Use the default sorting of menu links.
    array('callable' => 'menu.default_tree_manipulators:generateIndexAndSort'),
);
$tree = $menu_tree->transform($tree, $manipulators);
kint($tree);

1 Ответ

0 голосов
/ 27 ноября 2018

Я получил отзыв с форума drupal, ссылка внизу. Ссылка на форум Drupal.org

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...