Mercurial > hg > isophonics-drupal-site
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/toolbar/src/Menu/ToolbarMenuLinkTree.php Wed Nov 29 16:09:58 2017 +0000 @@ -0,0 +1,37 @@ +<?php + +namespace Drupal\toolbar\Menu; + +use Drupal\Core\Menu\MenuLinkTree; + +/** + * Extends MenuLinkTree to add specific theme suggestions for the toolbar. + */ +class ToolbarMenuLinkTree extends MenuLinkTree { + + /** + * {@inheritdoc} + */ + public function build(array $tree, $level = 0) { + if ($level == 0) { + if (!$tree) { + return []; + } + $build = parent::build($tree, $level); + + /** @var \Drupal\Core\Menu\MenuLinkInterface $link */ + $first_link = reset($tree)->link; + // Get the menu name of the first link. + $menu_name = $first_link->getMenuName(); + // Add a more specific theme suggestion to differentiate this rendered + // menu from others. + $build['#menu_name'] = $menu_name; + $build['#theme'] = 'menu__toolbar__' . strtr($menu_name, '-', '_'); + return $build; + } + else { + return parent::build($tree, $level); + } + } + +}