Browse Source

Merge pull request #1908 from nicolas-bastien/issue_1835_block_event

#1835 : add generic block event to edit / show / list and dashboard
Thomas 11 years ago
parent
commit
2f948e84b9

+ 17 - 0
Resources/doc/reference/events.rst

@@ -30,3 +30,20 @@ ConfigureQueryEvent
 ~~~~~~~~~~~~~~~~~~~
 
 This event is generated when a list query is defined. The event name is: ``sonata.admin.event.configure.query``
+
+BlockEvent
+~~~~~~~~~~~~~~~~~~~
+
+Block events help you customize your templates. Available events are :
+
+ - sonata.admin.dashboard.top
+ - sonata.admin.dashboard.bottom
+ - sonata.admin.list.table.top
+ - sonata.admin.list.table.bottom
+ - sonata.admin.edit.form.top
+ - sonata.admin.edit.form.bottom
+ - sonata.admin.show.top
+ - sonata.admin.show.bottom
+
+If you want more information about block events, you should check the
+`"Event" section of block bundle documentation <http://sonata-project.org/bundles/block/master/doc/reference/events.html>`_.

+ 4 - 0
Resources/views/CRUD/base_edit_form.html.twig

@@ -1,4 +1,6 @@
 {% block form %}
+    {{ sonata_block_render_event('sonata.admin.edit.form.top', { 'admin': admin, 'object': object }) }}
+
     {% set url = admin.id(object) is not null ? 'edit' : 'create' %}
 
     {% if not admin.hasRoute(url)%}
@@ -104,4 +106,6 @@
         </form>
     {% endif%}
 
+    {{ sonata_block_render_event('sonata.admin.edit.form.bottom', { 'admin': admin, 'object': object }) }}
+
 {% endblock %}

+ 6 - 0
Resources/views/CRUD/base_list.html.twig

@@ -20,6 +20,9 @@ file that was distributed with this source code.
 {% block side_menu %}{{ knp_menu_render(admin.sidemenu(action), {'currentClass' : 'active'}, 'list') }}{% endblock %}
 
 {% block list_table %}
+
+    {{ sonata_block_render_event('sonata.admin.list.table.top', { 'admin': admin }) }}
+
     {% block list_header %}{% endblock %}
 
     {% set batchactions = admin.batchactions %}
@@ -148,6 +151,9 @@ file that was distributed with this source code.
     {% endif %}
 
     {% block list_footer %}{% endblock %}
+
+    {{ sonata_block_render_event('sonata.admin.list.table.bottom', { 'admin': admin }) }}
+
 {% endblock %}
 
 {% block list_filters %}

+ 6 - 0
Resources/views/CRUD/base_show.html.twig

@@ -24,6 +24,9 @@ file that was distributed with this source code.
 
 {% block show %}
     <div class="sonata-ba-view">
+
+        {{ sonata_block_render_event('sonata.admin.show.top', { 'admin': admin, 'object': object }) }}
+
         {% for name, view_group in admin.showgroups %}
             <table class="table table-bordered">
                 {% if name %}
@@ -43,5 +46,8 @@ file that was distributed with this source code.
                 {% endfor %}
             </table>
         {% endfor %}
+
+        {{ sonata_block_render_event('sonata.admin.show.bottom', { 'admin': admin, 'object': object }) }}
+
     </div>
 {% endblock %}

+ 6 - 0
Resources/views/Core/dashboard.html.twig

@@ -14,6 +14,9 @@ file that was distributed with this source code.
 {% block title %}{{ 'title_dashboard'|trans({}, 'SonataAdminBundle') }}{% endblock%}
 {% block breadcrumb %}{% endblock %}
 {% block content %}
+
+    {{ sonata_block_render_event('sonata.admin.dashboard.top', { 'admin_pool': admin_pool }) }}
+
     <div class="row-fluid">
         {% set has_center = false %}
         {% for block in blocks %}
@@ -48,4 +51,7 @@ file that was distributed with this source code.
             {% endfor %}
         </div>
     </div>
+
+    {{ sonata_block_render_event('sonata.admin.dashboard.bottom', { 'admin_pool': admin_pool }) }}
+
 {% endblock %}