add knp pager configuration and template
This commit is contained in:
parent
5cacfd9c39
commit
0dff733727
11
config/packages/knp.yaml
Normal file
11
config/packages/knp.yaml
Normal file
|
@ -0,0 +1,11 @@
|
|||
knp_paginator:
|
||||
page_range: 4
|
||||
default_options:
|
||||
page_name: page # page query parameter name
|
||||
sort_field_name: sort # sort field query parameter name
|
||||
sort_direction_name: direction # sort direction query parameter name
|
||||
distinct: true # ensure distinct results, useful when ORM queries are using GROUP BY statements
|
||||
template:
|
||||
pagination: '@Core/pager/sliding.html.twig' # sliding pagination controls template
|
||||
sortable: '@KnpPaginator/Pagination/sortable_link.html.twig' # sort link template
|
||||
filtration: '@KnpPaginator/Pagination/filtration.html.twig' # filters template
|
76
core/Resources/views/pager/sliding.html.twig
Normal file
76
core/Resources/views/pager/sliding.html.twig
Normal file
|
@ -0,0 +1,76 @@
|
|||
{% if pageCount > 1 %}
|
||||
<ul class="pagination pagination-sm justify-content-end">
|
||||
{% if previous is defined %}
|
||||
<li class="page-item">
|
||||
<a rel="prev" href="{{ path(route, query|merge({(pageParameterName): previous})) }}" class="page-link">
|
||||
<span class="fa fa-chevron-left"></span>
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<span class="fa fa-chevron-left"></span>
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if startPage > 1 %}
|
||||
<li class="page-item">
|
||||
<a href="{{ path(route, query|merge({(pageParameterName): 1})) }}" class="page-link">1</a>
|
||||
</li>
|
||||
{% if startPage == 3 %}
|
||||
<li class="page-item">
|
||||
<a href="{{ path(route, query|merge({(pageParameterName): 2})) }}" class="page-link">2</a>
|
||||
</li>
|
||||
{% elseif startPage != 2 %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">…</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
{% for page in pagesInRange %}
|
||||
{% if page != current %}
|
||||
<li class="page-item">
|
||||
<a href="{{ path(route, query|merge({(pageParameterName): page})) }}" class="page-link">{{ page }}</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="active page-item">
|
||||
<span class="page-link">{{ page }}</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% endfor %}
|
||||
|
||||
{% if pageCount > endPage %}
|
||||
{% if pageCount > (endPage + 1) %}
|
||||
{% if pageCount > (endPage + 2) %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">…</span>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item">
|
||||
<a href="{{ path(route, query|merge({(pageParameterName): (pageCount - 1)})) }}" class="page-link">{{ pageCount -1 }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
<li>
|
||||
<a href="{{ path(route, query|merge({(pageParameterName): pageCount})) }}" class="page-link">{{ pageCount }}</a>
|
||||
</li>
|
||||
{% endif %}
|
||||
|
||||
{% if next is defined %}
|
||||
<li class="page-item">
|
||||
<a rel="next" class="page-link" href="{{ path(route, query|merge({(pageParameterName): next})) }}">
|
||||
<span class="fa fa-chevron-right"></span>
|
||||
</a>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="page-item disabled">
|
||||
<span class="page-link">
|
||||
<span class="fa fa-chevron-right"></span>
|
||||
</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
{% endif %}
|
Loading…
Reference in a new issue