<div id="pagination"> {% set num_pages = ( pagination.count / pagination.per_page|default(20) )|ceil %} {% if num_pages > 0 %} <ul class="pages"> {% if pagination.page > 1 %} <li class="pagination_first" title="Go to the first page">{# #}<a href="{{ ( pagination.base ~ pagination.extra_args )|e('html_attr') }}">«</a>{# #}</li> <li class="pagination_prev" title="Go to the previous page">{# #}<a href="{{ ( pagination.base ~ pagination.suffix|default('/') ~ (pagination.page - 1) ~ pagination.extra_args )|e('html_attr') }}">‹</a>{# #}</li> {% else %} <li class="pagination_first" title="Go to the first page">«</li> <li class="pagination_prev" title="Go to the previous page">‹</li> {% endif %} {% for i, p in range (1, num_pages) %} {% if p == pagination.page %} <li class="pagination_page pagination_current">{{ p }}</li> {% else %} {% set page_diff = (pagination.page - p)|abs %} <li class="pagination_page {% spaceless %} {% if page_diff > 19 %} page_hide_20 {% elseif page_diff > 18 %} page_hide_19 {% elseif page_diff > 17 %} page_hide_18 {% elseif page_diff > 16 %} page_hide_17 {% elseif page_diff > 15 %} page_hide_16 {% elseif page_diff > 14 %} page_hide_15 {% elseif page_diff > 13 %} page_hide_14 {% elseif page_diff > 12 %} page_hide_13 {% elseif page_diff > 11 %} page_hide_12 {% elseif page_diff > 10 %} page_hide_11 {% elseif page_diff > 9 %} page_hide_10 {% elseif page_diff > 8 %} page_hide_9 {% elseif page_diff > 7 %} page_hide_8 {% elseif page_diff > 6 %} page_hide_7 {% elseif page_diff > 5 %} page_hide_6 {% elseif page_diff > 4 %} page_hide_5 {% elseif page_diff > 3 %} page_hide_4 {% elseif page_diff > 2 %} page_hide_3 {% elseif page_diff > 1 %} page_hide_2 {% endif %} {% endspaceless %}">{# #}<a href="{{ ( pagination.base ~ pagination.suffix|default('/') ~ p ~ pagination.extra_args )|e('html_attr') }}">{{ p }}</a>{# #}</li> {% endif %} {% endfor %} {% if num_pages - pagination.page > 0 %} <li class="pagination_next" title="Go to the next page">{# #}<a href="{{ ( pagination.base ~ pagination.suffix|default('/') ~ (pagination.page + 1) ~ pagination.extra_args )|e('html_attr') }}">›</a>{# #}</li> <li class="pagination_last" title="Go to the last page">{# #}<a href="{{ ( pagination.base ~ pagination.suffix|default('/') ~ num_pages ~ pagination.extra_args )|e('html_attr') }}">»</a>{# #}</li> {% else %} <li class="pagination_next" title="Go to the next page">›</li> <li class="pagination_last" title="Go to the last page">»</li> {% endif %} </ul> {% endif %} </div>
|