Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Override or insert variables into the page template.
- */
- function gratis_preprocess_page(&$vars, $hook) {
- // main menu tree with sub-links.
- if (!empty($vars['main_menu'])) {
- $menu_tree = \Drupal::menuTree();
- $menu_enabled = Drupal::moduleHandler()->moduleExists('menu');
- $config = Drupal::config('menu.settings');
- $menu_name = $menu_enabled ? $config->get('main_links') : 'main';
- $parameters = $menu_tree->getCurrentRouteMenuTreeParameters($menu_name);
- $parameters->setMaxDepth($level + 1);
- $tree = $menu_tree->load($menu_name, $parameters);
- $manipulators = array(
- array('callable' => 'menu.default_tree_manipulators:checkAccess'),
- array('callable' => 'menu.default_tree_manipulators:generateIndexAndSort'),
- array(
- 'callable' => 'menu.default_tree_manipulators:extractSubtreeOfActiveTrail',
- 'args' => array($level)
- ),
- );
- $tree = $menu_tree->transform($tree, $manipulators);
- return $menu_tree->build($tree);
- $vars['main_menu']['#attributes']['id'] = 'main-menu-links';
- $vars['main_menu']['#attributes']['class'] = array('links', 'clearfix');
- // set the theme menu function for use below.
- $vars['main_menu']['#theme_wrappers'] = array('menu_tree__primary');
- }
- }
- /**
- * Theme wrapper function for the primary menu links.
- */
- function gratis_menu_tree__primary(&$vars) {
- return '<ul class="toggle-menu"></ul>';
- }
- // Then in page.html.twig, we render the menu
- {% if main_menu %}
- {{ main_menu }}
- {% endif %}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement