comparison core/modules/toolbar/src/Menu/ToolbarMenuLinkTree.php @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 namespace Drupal\toolbar\Menu;
4
5 use Drupal\Core\Menu\MenuLinkTree;
6
7 /**
8 * Extends MenuLinkTree to add specific theme suggestions for the toolbar.
9 */
10 class ToolbarMenuLinkTree extends MenuLinkTree {
11
12 /**
13 * {@inheritdoc}
14 */
15 public function build(array $tree, $level = 0) {
16 if ($level == 0) {
17 if (!$tree) {
18 return [];
19 }
20 $build = parent::build($tree, $level);
21
22 /** @var \Drupal\Core\Menu\MenuLinkInterface $link */
23 $first_link = reset($tree)->link;
24 // Get the menu name of the first link.
25 $menu_name = $first_link->getMenuName();
26 // Add a more specific theme suggestion to differentiate this rendered
27 // menu from others.
28 $build['#menu_name'] = $menu_name;
29 $build['#theme'] = 'menu__toolbar__' . strtr($menu_name, '-', '_');
30 return $build;
31 }
32 else {
33 return parent::build($tree, $level);
34 }
35 }
36
37 }