vendor/sonata-project/admin-bundle/src/Resources/views/Core/tab_menu_template.html.twig line 1

Open in your IDE?
  1. {% extends 'knp_menu.html.twig' %}
  2. {% block item %}
  3. {% import "knp_menu.html.twig" as macros %}
  4. {% if item.displayed %}
  5.     {%- set attributes = item.attributes %}
  6.     {%- set is_dropdown = attributes.dropdown|default(false) %}
  7.     {%- set divider_prepend = attributes.divider_prepend|default(false) %}
  8.     {%- set divider_append = attributes.divider_append|default(false) %}
  9. {# unset bootstrap specific attributes #}
  10.     {%- set attributes = attributes|merge({'dropdown': null, 'divider_prepend': null, 'divider_append': null }) %}
  11.     {%- if divider_prepend %}
  12.         {{ block('dividerElement') }}
  13.     {%- endif %}
  14. {# building the class of the item #}
  15.     {%- set classes = item.attribute('class') is not empty ? [item.attribute('class')] : [] %}
  16.     {%- if matcher is defined %} {# KnpMenu 2.0#}
  17.         {%- if matcher.isCurrent(item) %}
  18.             {%- set classes = classes|merge([options.currentClass]) %}
  19.         {%- elseif matcher.isAncestor(item, options.depth) %}
  20.             {%- set classes = classes|merge([options.ancestorClass]) %}
  21.         {%- endif %}
  22.     {%- else %} {# KnpMenu 1.X #}
  23.         {%- if item.current %}
  24.         {%- set classes = classes|merge([options.currentClass]) %}
  25.         {%- elseif item.currentAncestor %}
  26.         {%- set classes = classes|merge([options.ancestorClass]) %}
  27.         {%- endif %}
  28.     {%- endif %}
  29.     {%- if item.actsLikeFirst %}
  30.         {%- set classes = classes|merge([options.firstClass]) %}
  31.     {%- endif %}
  32.     {%- if item.actsLikeLast %}
  33.         {%- set classes = classes|merge([options.lastClass]) %}
  34.     {%- endif %}
  35. {# building the class of the children #}
  36.     {%- set childrenClasses = item.childrenAttribute('class') is not empty ? [item.childrenAttribute('class')] : [] %}
  37.     {%- set childrenClasses = childrenClasses|merge(['menu_level_' ~ item.level]) %}
  38. {# adding classes for dropdown #}
  39.     {%- if is_dropdown %}
  40.         {%- set classes = classes|merge(['dropdown']) %}
  41.         {%- set childrenClasses = childrenClasses|merge(['dropdown-menu']) %}
  42.     {%- endif %}
  43. {# putting classes together #}
  44.     {%- if classes is not empty %}
  45.         {%- set attributes = attributes|merge({'class': classes|join(' ')}) %}
  46.     {%- endif %}
  47.     {%- set listAttributes = item.childrenAttributes|merge({'class': childrenClasses|join(' ') }) %}
  48. {# displaying the item #}
  49.     <li{{ macros.attributes(attributes) }}>
  50.         {%- if is_dropdown %}
  51.             {{ block('dropdownElement') }}
  52.         {%- elseif item.uri is not empty and (not item.current or options.currentAsLink) %}
  53.             {{ block('linkElement') }}
  54.         {%- else %}
  55.             {{ block('spanElement') }}
  56.         {%- endif %}
  57. {# render the list of children#}
  58.         {{ block('list') }}
  59.     </li>
  60.     {%- if divider_append %}
  61.         {{ block('dividerElement') }}
  62.     {%- endif %}
  63. {% endif %}
  64. {% endblock %}
  65. {% block dividerElement %}
  66. {% if item.level == 1 %}
  67.     <li class="divider-vertical"></li>
  68. {% else %}
  69.     <li class="divider"></li>
  70. {% endif %}
  71. {% endblock %}
  72. {% block linkElement %}
  73.     {% import "knp_menu.html.twig" as macros %}
  74.     <a href="{{ item.uri }}"{{ macros.attributes(item.linkAttributes) }}>
  75.         {% if item.attribute('icon') is not empty %}
  76.             <i class="{{ item.attribute('icon') }}"></i>
  77.         {% endif %}
  78.         {{ block('label') }}
  79.     </a>
  80. {% endblock %}
  81. {% block spanElement %}
  82.     {% import "knp_menu.html.twig" as macros %}
  83.     <span {{ macros.attributes(item.labelAttributes) }}>
  84.         {% if item.attribute('icon') is not empty %}
  85.             <i class="{{ item.attribute('icon') }}"></i>
  86.         {% endif %}
  87.         {{ block('label') }}
  88.     </span>
  89. {% endblock %}
  90. {% block dropdownElement %}
  91.     {% import "knp_menu.html.twig" as macros %}
  92.     {%- set classes = item.linkAttribute('class') is not empty ? [item.linkAttribute('class')] : [] %}
  93.     {%- set classes = classes|merge(['dropdown-toggle']) %}
  94.     {%- set attributes = item.linkAttributes %}
  95.     {%- set attributes = attributes|merge({'class': classes|join(' ')}) %}
  96.     {%- set attributes = attributes|merge({'data-toggle': 'dropdown'}) %}
  97.     <a href="#"{{ macros.attributes(attributes) }}>
  98.         {% if item.attribute('icon') is not empty %}
  99.             <i class="{{ item.attribute('icon') }}"></i>
  100.         {% endif %}
  101.         {{ block('label') }}
  102.         <b class="caret"></b>
  103.     </a>
  104. {% endblock %}
  105. {% block label %}
  106. {{-
  107.     item.label|trans(
  108.         item.getExtra('translation_params', {}),
  109.         item.getExtra(
  110.             'translation_domain',
  111.             item.getParent() ? item.getParent().getExtra('translation_domain') : null
  112.         )
  113.     )
  114. -}}
  115. {% endblock %}