Chris@0
|
1 {#
|
Chris@0
|
2 /**
|
Chris@0
|
3 * @file
|
Chris@0
|
4 * Default theme implementation to display a menu.
|
Chris@0
|
5 *
|
Chris@0
|
6 * Available variables:
|
Chris@0
|
7 * - menu_name: The machine name of the menu.
|
Chris@0
|
8 * - items: A nested list of menu items. Each menu item contains:
|
Chris@0
|
9 * - attributes: HTML attributes for the menu item.
|
Chris@0
|
10 * - below: The menu item child items.
|
Chris@0
|
11 * - title: The menu link title.
|
Chris@0
|
12 * - url: The menu link url, instance of \Drupal\Core\Url
|
Chris@0
|
13 * - localized_options: Menu link localized options.
|
Chris@0
|
14 * - is_expanded: TRUE if the link has visible children within the current
|
Chris@0
|
15 * menu tree.
|
Chris@0
|
16 * - is_collapsed: TRUE if the link has children within the current menu tree
|
Chris@0
|
17 * that are not currently visible.
|
Chris@0
|
18 * - in_active_trail: TRUE if the link is in the active trail.
|
Chris@0
|
19 *
|
Chris@0
|
20 * @ingroup themeable
|
Chris@0
|
21 */
|
Chris@0
|
22 #}
|
Chris@0
|
23 {% import _self as menus %}
|
Chris@0
|
24
|
Chris@0
|
25 {#
|
Chris@0
|
26 We call a macro which calls itself to render the full tree.
|
Chris@0
|
27 @see http://twig.sensiolabs.org/doc/tags/macro.html
|
Chris@0
|
28 #}
|
Chris@0
|
29 {{ menus.menu_links(items, attributes, 0) }}
|
Chris@0
|
30
|
Chris@0
|
31 {% macro menu_links(items, attributes, menu_level) %}
|
Chris@0
|
32 {% import _self as menus %}
|
Chris@0
|
33 {% if items %}
|
Chris@0
|
34 {% if menu_level == 0 %}
|
Chris@0
|
35 <ul{{ attributes }}>
|
Chris@0
|
36 {% else %}
|
Chris@0
|
37 <ul>
|
Chris@0
|
38 {% endif %}
|
Chris@0
|
39 {% for item in items %}
|
Chris@0
|
40 <li{{ item.attributes }}>
|
Chris@0
|
41 {{ link(item.title, item.url) }}
|
Chris@0
|
42 {% if item.below %}
|
Chris@0
|
43 {{ menus.menu_links(item.below, attributes, menu_level + 1) }}
|
Chris@0
|
44 {% endif %}
|
Chris@0
|
45 </li>
|
Chris@0
|
46 {% endfor %}
|
Chris@0
|
47 </ul>
|
Chris@0
|
48 {% endif %}
|
Chris@0
|
49 {% endmacro %}
|