diff --git a/templates/menu/menu.html.twig b/templates/menu/menu.html.twig
index 3ded5ec342b8e1af52863d0005e3592cae19bdce..0b94a214b81bccd75d6e5bbb68ff597e81c9e583 100644
--- a/templates/menu/menu.html.twig
+++ b/templates/menu/menu.html.twig
@@ -27,20 +27,23 @@
{%
set item_classes = [
item.is_expanded and item.below ? 'expanded dropdown',
- item.in_active_trail ? 'active-trail',
+ item.in_active_trail ? 'active active-trail',
loop.first ? 'first',
loop.last ? 'last',
]
%}
- {% if menu_level == 0 and item.is_expanded and item.below %}
- {{ item.title }}
- {% else %}
- {{ item.title }}
- {% endif %}
- {% if item.below %}
- {{ _self.menu_links(item.below, attributes.removeClass(classes), menu_level + 1, classes) }}
- {% endif %}
+ {% set link_title = item.title %}
+ {% set link_attributes = item.link_attributes %}
+ {% if menu_level == 0 and item.is_expanded and item.below %}
+ {% set link_title %}{{ link_title }} {% endset %}
+ {% set link_attributes = link_attributes.addClass('dropdown-toggle').setAttribute('data-toggle', 'dropdown') %}
+ {% endif %}
+ {# Must use link() here so it triggers hook_link_alter(). #}
+ {{ link(link_title, item.url, link_attributes.addClass(item.in_active_trail ? 'active-trail')) }}
+ {% if item.below %}
+ {{ _self.menu_links(item.below, attributes.removeClass(classes), menu_level + 1, classes) }}
+ {% endif %}
{% endfor %}