src/Resources/views/Pagination/template.html.twig
<style media="screen" type="text/css">
div.pagination a {
padding: 3px;
color: white;
background-color: #f60;
border: 1px solid #f60;
}
div.pagination a:hover, span.current-page {
color: #f60;
background-color: white;
}
span.current-page {
padding: 3px;
color: black;
background-color: white;
border: 1px solid #f60;
}
</style>
{% if (paginationInfo.pages is not null) and (paginationInfo.page is not null) and (paginationInfo.path is not null) and (paginationInfo.pages > 0) and (paginationInfo.page <= paginationInfo.pages) %}
<div class="pagination clear">
<ul>
{% set paginationStart = paginationInfo.page - 5 > 0 ? paginationInfo.page -5 : 1 %}
{% set paginationEnd = paginationInfo.page + 5 <= paginationInfo.pages ? paginationInfo.page + 5 : paginationInfo.pages %}
{% if paginationStart > 1 %}
<a href="{{ path(paginationInfo.path, paginationInfo.query|merge(paginationInfo.routeParams)|merge({'page': 1})) }}">{{ 1 }}... </a>
{% endif %}
{% for i in paginationStart..paginationEnd %}
{% if i != paginationInfo.page %}
<a href="{{ path(paginationInfo.path, paginationInfo.query|merge(paginationInfo.routeParams)|merge({'page': i})) }}">{{ i }}</a>
{% else %}
<span class="current-page">{{ i }}</span>
{% endif %}
{% endfor %}
{% if paginationEnd < paginationInfo.pages %}
<a href="{{ path(paginationInfo.path, paginationInfo.query|merge(paginationInfo.routeParams)|merge({'page': paginationInfo.pages})) }}"> ...{{ paginationInfo.pages }}</a>
{% endif %}
</ul>
</div>
{% endif %}