base_list.twig.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. {#
  2. This file is part of the Sonata package.
  3. (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
  4. For the full copyright and license information, please view the LICENSE
  5. file that was distributed with this source code.
  6. #}
  7. {% extends base_template %}
  8. {% block title %}{% trans 'title_list' from 'BaseApplicationBundle'%}{% endblock %}
  9. {% block actions %}
  10. <div class="sonata-actions">
  11. <ul>
  12. <li class="sonata-action-element"><a href="{{ admin.generateUrl('create') }}">{% trans "link_action_create" from "BaseApplicationBundle" %}</a></li>
  13. </ul>
  14. </div>
  15. {% endblock %}
  16. {% block list_table %}
  17. <form action="{{ admin.generateUrl('batch') }}" method="POST" >
  18. <table>
  19. {% block table_header %}
  20. <tr>
  21. {% for field_description in fields %}
  22. <th>{{ field_description.name }}</th>
  23. {% endfor %}
  24. </tr>
  25. {% endblock %}
  26. {% block table_body %}{% endblock %}
  27. {% block table_footer %}
  28. {% if datagrid.pager.haveToPaginate() %}
  29. <tr>
  30. <td colspan="{{ fields|length }}" class="pager">
  31. <ul>
  32. {% if datagrid.pager.page != datagrid.pager.previouspage %}
  33. <li><a href="{{ admin.generateUrl('list', datagrid.values|merge({'page': datagrid.pager.previouspage})) }}">{% trans 'link_previous_pager' from 'BaseApplicationBundle' %}</a></li>
  34. {% endif %}
  35. {# Set the number of pages to display in the pager #}
  36. {% for page in datagrid.pager.getLinks(5) %}
  37. {% if page == datagrid.pager.page %}
  38. <li>{{ page }}</li>
  39. {% else %}
  40. <li><a href="{{ admin.generateUrl('list', datagrid.values|merge({'page': page})) }}">{{ page }}</a></li>
  41. {% endif %}
  42. {% endfor %}
  43. {% if datagrid.pager.page != datagrid.pager.nextpage %}
  44. <li><a href="{{ admin.generateUrl('list', datagrid.values|merge({'page': datagrid.pager.nextpage})) }}">{% trans 'link_next_pager' from 'BaseApplicationBundle' %}</a></li>
  45. {% endif %}
  46. </ul>
  47. </td>
  48. </tr>
  49. {% endif %}
  50. {% endblock %}
  51. </table>
  52. <div>
  53. <select name="action" >
  54. {% for action, label in batch_actions %}
  55. <option value="{{ action }}">{{ label }}</option>
  56. {% endfor %}
  57. </select>
  58. <input type="submit" value="{% trans 'btn_batch' from 'BaseApplicationBundle' %}" />
  59. </div>
  60. </form>
  61. {% endblock %}
  62. {% block list_filters %}
  63. <form action="{{ admin.generateUrl('list') }}" method="GET">
  64. {% for filter in datagrid.filters %}
  65. <div>
  66. {{ filter|render_filter_element }}</td>
  67. </div>
  68. {% endfor %}
  69. <input type="submit" value="{% trans 'btn_filter' from 'BaseApplicationBundle' %}" />
  70. <a href="{{ admin.generateUrl('list') }}">{% trans 'link_reset_filter' from 'BaseApplicationBundle' %}</a>
  71. </form>
  72. {% endblock %}