{% if totalPages > 1 %}
<nav aria-label="Blog pagination">
<ul class="pagination justify-content-center">
{# Previous page link #}
{% if currentPage > 1 %}
<li class="page-item">
<a class="page-link" href="{{ path(route, routeParams|merge({'page': currentPage - 1})) }}" aria-label="Previous">
<span aria-hidden="true">«</span>
</a>
</li>
{% else %}
<li class="page-item disabled">
<span class="page-link" aria-hidden="true">«</span>
</li>
{% endif %}
{# Page number links #}
{% set startPage = max(1, currentPage - 2) %}
{% set endPage = min(totalPages, startPage + 4) %}
{% if endPage - startPage < 4 %}
{% set startPage = max(1, endPage - 4) %}
{% endif %}
{% for i in startPage..endPage %}
<li class="page-item {% if i == currentPage %}active{% endif %}">
{% if i == currentPage %}
<span class="page-link">{{ i }}</span>
{% else %}
<a class="page-link" href="{{ path(route, routeParams|merge({'page': i})) }}">{{ i }}</a>
{% endif %}
</li>
{% endfor %}
{# Next page link #}
{% if currentPage < totalPages %}
<li class="page-item">
<a class="page-link" href="{{ path(route, routeParams|merge({'page': currentPage + 1})) }}" aria-label="Next">
<span aria-hidden="true">»</span>
</a>
</li>
{% else %}
<li class="page-item disabled">
<span class="page-link" aria-hidden="true">»</span>
</li>
{% endif %}
</ul>
</nav>
{% endif %}