templates/Slivki/pagination.html.twig line 1

Open in your IDE?
  1. {% macro pagination(paginationID, total, current, url, nearbyPagesLimit = 4) %}
  2.     {# Create "main_url" variable with link for the first page #}
  3.     {% set main_url = url|split('?')|first %}
  4.     {% apply spaceless %}
  5.         <noindex class="w-100">
  6.             {% if total > 1 %}
  7.             <ul id="{{ paginationID }}" class="slivki-pagination">
  8.                 {% if current > 1 %}
  9.                     <li><a data-page="{{ current-1 }}" class="prev page-numbers" href="{{ current == 2 ? main_url : (url ~ (current-1))|e }}"><i class="slivki-icon-angle-left"></i></a></li>
  10.                 {% endif %}
  11.                 {% for i in 1..total %}
  12.                     {% if 0 == (current - nearbyPagesLimit) - loop.index %}
  13.                         <li><a data-page="1" class="page-numbers" href="{{ main_url|e }}">1</a></li>
  14.                         {% if 1 != loop.index %}
  15.                             <li><span class="page-numbers">...</span></li>
  16.                         {% endif %}
  17.                     {% elseif 0 == (current + nearbyPagesLimit) - loop.index  and (current + nearbyPagesLimit) < total %}
  18.                         <li><span class="page-numbers">...</span></li>
  19.                     {% elseif 0 < (current - nearbyPagesLimit) - loop.index %}
  20.                     {% elseif 0 > (current + nearbyPagesLimit) - loop.index %}
  21.                     {% else %}
  22.                         {% if current == loop.index  %}
  23.                             <li class="active"><span class="page-numbers" aria-current="page">{{ loop.index }}</span></li>
  24.                         {% else %}
  25.                             <li><a data-page="{{ loop.index }}" class="page-numbers" href="{{ loop.index == 1 ? main_url : url ~ loop.index }}">{{ loop.index }}</a></li>
  26.                         {% endif %}
  27.                     {% endif %}
  28.                 {% endfor %}
  29.                 {% if current != total  and (current + nearbyPagesLimit) < total %}
  30.                     <li><a data-page="{{ total }}" class="page-numbers" href="{{ (url ~ total)|e }}">{{ total }}</a></li>
  31.                 {% endif %}
  32.                 {% if current < total %}
  33.                     <li><a data-page="{{ current+1 }}" class="next page-numbers" href="{{ (url ~ (current+1))|e }}"><i class="slivki-icon-angle-right"></i></a></li>
  34.                 {% endif %}
  35.             </ul>
  36.         {% endif %}
  37.         </noindex>
  38.     {% endapply %}
  39. {% endmacro %}
  40. {{ _self.pagination(paginationID, total, current, url) }}