{% set queryParams =app.request.query.all %}
{# on retire tout les paramètre que l'on souhaite en spécifiant la clé que l'on veut enlever #}
{% set queryString = queryParams|filter((value, key) => key != "page" and key != "ajax")|url_encode %}
<ul class="pagination">
<li class="{{ (page==1)? 'page-item disabled': 'page-item' }}">
<a href="?page=1&{{ queryString }}" class="page-link page-link-bookpresta">
<i class="fas fa-step-backward"></i>
</a>
</li>
<li class="{{ (page==1)? 'page-item disabled': 'page-item' }}">
<a href="{{ (page>1) ? '?page='~(page-1):'' }}&{{ queryString }}" class="page-link page-link-bookpresta">
<i class="fas fa-angle-left"></i>
</a>
</li>
{% if totalPackage==0 %}
<li class=" page-item disabled">
<a href="?page=&{{ queryString }}" class="page-link page-link-bookpresta">0</a>
</li>
<li class="page-item disabled">
<a href="?page=&{{ queryString }}" class="page-link page-link-bookpresta">
<i class="fas fa-angle-right"></i>
</a>
</li>
<li class="page-item disabled">
<a href="?page=&{{ queryString }}" class="page-link page-link-bookpresta">
<i class="fas fa-step-forward"></i>
</a>
</li>
{% else %}
{% set pages=(totalPackage/limit)|round(0,'ceil') %}
{% for item in 1..pages %} {# la formule dans le for in permet de calculer la limite du for / la ligne suivante signifie : si page =item, on écrit active, sinon on ecrit rien#}
<li class="{{ (page==item)? 'page-item active': 'page-item' }}">
<a href="?page={{ item }}&{{ queryString }}" class="page-link page-link-bookpresta">{{ item }}</a>
</li>
{% endfor %}
<li class="{{ (page==pages or page>pages)? 'page-item disabled': 'page-item' }}">
<a href="{{ (page<pages) ? '?page='~(page+1):'' }}&{{ queryString }}" class="page-link page-link-bookpresta">
<i class="fas fa-angle-right"></i>
</a>
</li>
<li class="{{ (page==pages or page>pages)? 'page-item disabled': 'page-item' }}">
<a href="?page={{ pages }}&{{ queryString }}" class="page-link page-link-bookpresta">
<i class="fas fa-step-forward"></i>
</a>
</li>
{% endif %}
</ul>