Updated the Bootstrap theme.
[yaffs-website] / web / themes / contrib / bootstrap / templates / menu / menu.html.twig
index 1f48ae6638d2939864538f15ac8284b0d246862d..3ded5ec342b8e1af52863d0005e3592cae19bdce 100644 (file)
   {% if items %}
     <ul{{ attributes.addClass(menu_level == 0 ? classes : 'dropdown-menu') }}>
     {% for item in items %}
+      {%
+        set item_classes = item.url.getOption('container_attributes').class | split(" ")
+      %}
       {%
         set item_classes = [
-          item.is_expanded and item.below ? 'expanded',
-          item.is_expanded and menu_level == 0 and item.below ? 'dropdown',
-          item.in_active_trail ? 'active',
+          item.is_expanded and item.below ? 'expanded dropdown',
+          item.in_active_trail ? 'active-trail',
+          loop.first ? 'first',
+          loop.last ? 'last',
         ]
       %}
+      <li{{ item.attributes.addClass(item_classes) }}>
       {% if menu_level == 0 and item.is_expanded and item.below %}
-        <li{{ item.attributes.addClass(item_classes) }}>
-        <a href="{{ item.url }}" class="dropdown-toggle" data-toggle="dropdown">{{ item.title }} <span class="caret"></span></a>
+        <a{{ item.link_attributes.addClass(['dropdown-toggle', item.in_active_trail ? 'active-trail']) | without('data-toggle') }} href="{{ item.url }}" data-toggle="dropdown">{{ item.title }}<span class="caret"></span></a>
       {% else %}
-        <li{{ item.attributes.addClass(item_classes) }}>
-        {{ link(item.title, item.url) }}
+        <a{{ item.link_attributes.addClass(item.in_active_trail ? 'active-trail') }} href="{{ item.url }}">{{ item.title }}</a>
       {% endif %}
       {% if item.below %}
         {{ _self.menu_links(item.below, attributes.removeClass(classes), menu_level + 1, classes) }}