Explorar el Código

added tab_menu template

Toni Rudolf hace 11 años
padre
commit
f1c32ee9f6

+ 1 - 1
Resources/views/CRUD/action.html.twig

@@ -18,7 +18,7 @@ file that was distributed with this source code.
 
 {% block tab_menu %}
     {% if action is defined %}
-        {{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active'}, 'list') }}
+        {{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active', 'template': 'SonataAdminBundle:Core:tab_menu_template.html.twig'}, 'twig') }}
     {% endif %}
 {% endblock %}
 

+ 1 - 1
Resources/views/CRUD/base_edit.html.twig

@@ -31,7 +31,7 @@ file that was distributed with this source code.
     <li>{% include 'SonataAdminBundle:Button:create_button.html.twig' %}</li>
 {% endblock %}
 
-{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active'}, 'list') }}{% endblock %}
+{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active', 'template': 'SonataAdminBundle:Core:tab_menu_template.html.twig'}, 'twig') }}{% endblock %}
 
 {% use 'SonataAdminBundle:CRUD:base_edit_form.html.twig' with form as parentForm %}
 

+ 1 - 1
Resources/views/CRUD/base_list.html.twig

@@ -15,7 +15,7 @@ file that was distributed with this source code.
     <li>{% include 'SonataAdminBundle:Core:create_button.html.twig' %}</li>
 {% endblock %}
 
-{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active'}, 'list') }}{% endblock %}
+{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active', 'template': 'SonataAdminBundle:Core:tab_menu_template.html.twig'}, 'twig') }}{% endblock %}
 
 
 {% block list_table %}

+ 1 - 1
Resources/views/CRUD/base_show.html.twig

@@ -18,7 +18,7 @@ file that was distributed with this source code.
     <li>{% include 'SonataAdminBundle:Button:create_button.html.twig' %}</li>
 {% endblock %}
 
-{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active'}, 'list') }}{% endblock %}
+{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active', 'template': 'SonataAdminBundle:Core:tab_menu_template.html.twig'}, 'twig') }}{% endblock %}
 
 {% block show %}
     <div class="sonata-ba-view">

+ 1 - 1
Resources/views/CRUD/batch_confirmation.html.twig

@@ -16,7 +16,7 @@ file that was distributed with this source code.
     <li>{% include 'SonataAdminBundle:Button:create_button.html.twig' %}</li>
 {% endblock %}
 
-{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active'}, 'list') }}{% endblock %}
+{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active', 'template': 'SonataAdminBundle:Core:tab_menu_template.html.twig'}, 'twig') }}{% endblock %}
 
 {% block content %}
     <div class="sonata-ba-delete">

+ 1 - 1
Resources/views/CRUD/delete.html.twig

@@ -17,7 +17,7 @@ file that was distributed with this source code.
     <li>{% include 'SonataAdminBundle:Button:create_button.html.twig' %}</li>
 {% endblock %}
 
-{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active'}, 'list') }}{% endblock %}
+{% block tab_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active', 'template': 'SonataAdminBundle:Core:tab_menu_template.html.twig'}, 'twig') }}{% endblock %}
 
 {% block content %}
     <div class="sonata-ba-delete">

+ 108 - 0
Resources/views/Core/tab_menu_template.html.twig

@@ -0,0 +1,108 @@
+{% extends 'knp_menu.html.twig' %}
+
+{% block item %}
+{% import "knp_menu.html.twig" as macros %}
+{% if item.displayed %}
+    {%- set attributes = item.attributes %}
+    {%- set is_dropdown = attributes.dropdown|default(false) %}
+    {%- set divider_prepend = attributes.divider_prepend|default(false) %}
+    {%- set divider_append = attributes.divider_append|default(false) %}
+
+{# unset bootstrap specific attributes #}
+    {%- set attributes = attributes|merge({'dropdown': null, 'divider_prepend': null, 'divider_append': null }) %}
+
+    {%- if divider_prepend %}
+        {{ block('dividerElement') }}
+    {%- endif %}
+
+{# building the class of the item #}
+    {%- set classes = item.attribute('class') is not empty ? [item.attribute('class')] : [] %}
+    {%- if matcher.isCurrent(item) %}
+        {%- set classes = classes|merge([options.currentClass]) %}
+    {%- elseif matcher.isAncestor(item, options.depth) %}
+        {%- set classes = classes|merge([options.ancestorClass]) %}
+    {%- endif %}
+    {%- if item.actsLikeFirst %}
+        {%- set classes = classes|merge([options.firstClass]) %}
+    {%- endif %}
+    {%- if item.actsLikeLast %}
+        {%- set classes = classes|merge([options.lastClass]) %}
+    {%- endif %}
+
+{# building the class of the children #}
+    {%- set childrenClasses = item.childrenAttribute('class') is not empty ? [item.childrenAttribute('class')] : [] %}
+    {%- set childrenClasses = childrenClasses|merge(['menu_level_' ~ item.level]) %}
+
+{# adding classes for dropdown #}
+    {%- if is_dropdown %}
+        {%- set classes = classes|merge(['dropdown']) %}
+        {%- set childrenClasses = childrenClasses|merge(['dropdown-menu']) %}
+    {%- endif %}
+
+{# putting classes together #}
+    {%- if classes is not empty %}
+        {%- set attributes = attributes|merge({'class': classes|join(' ')}) %}
+    {%- endif %}
+    {%- set listAttributes = item.childrenAttributes|merge({'class': childrenClasses|join(' ') }) %}
+
+{# displaying the item #}
+    <li{{ macros.attributes(attributes) }}>
+        {%- if is_dropdown %}
+            {{ block('dropdownElement') }}
+        {%- elseif item.uri is not empty and (not item.current or options.currentAsLink) %}
+            {{ block('linkElement') }}
+        {%- else %}
+            {{ block('spanElement') }}
+        {%- endif %}
+{# render the list of children#}
+        {{ block('list') }}
+    </li>
+
+    {%- if divider_append %}
+        {{ block('dividerElement') }}
+    {%- endif %}
+{% endif %}
+{% endblock %}
+
+{% block dividerElement %}
+{% if item.level == 1 %}
+    <li class="divider-vertical"></li>
+{% else %}
+    <li class="divider"></li>
+{% endif %}
+{% endblock %}
+
+{% block linkElement %}
+	<a href="{{ item.uri }}"{{ macros.attributes(item.linkAttributes) }}>
+		{% if item.attribute('icon') is not empty  %}
+    		<i class="{{ item.attribute('icon') }}"></i> 
+    	{% endif %}
+		{{ block('label') }}
+	</a>
+{% endblock %}
+
+{% block spanElement %}
+	<span>{{ macros.attributes(item.labelAttributes) }}>
+		{% if item.attribute('icon') is not empty  %}
+    		<i class="{{ item.attribute('icon') }}"></i> 
+    	{% endif %}
+		{{ block('label') }}
+	</span>
+{% endblock %}
+
+{% block dropdownElement %}
+    {%- set classes = item.linkAttribute('class') is not empty ? [item.linkAttribute('class')] : [] %}
+    {%- set classes = classes|merge(['dropdown-toggle']) %}
+    {%- set attributes = item.linkAttributes %}
+    {%- set attributes = attributes|merge({'class': classes|join(' ')}) %}
+    {%- set attributes = attributes|merge({'data-toggle': 'dropdown'}) %}
+    <a href="#"{{ macros.attributes(attributes) }}>
+    	{% if item.attribute('icon') is not empty  %}
+    		<i class="{{ item.attribute('icon') }}"></i> 
+    	{% endif %}
+    	{{ block('label') }} 
+    	<b class="caret"></b>
+    </a>
+{% endblock %}
+
+{% block label %}{{ item.label|trans }}{% endblock %}