templates/default/paginator.html.twig line 1

Open in your IDE?
  1. {% import _self as generator %}
  2. {% set pages = paginator.getPaginationData %}
  3. {% set category = null %}
  4. {% if append is not defined %}
  5.     {% set append = [] %}
  6. {% endif %}
  7. {% if onlyPage is not defined %}
  8.     {% set onlyPage = false %}
  9. {% endif %}
  10. {% macro generate_seo_pagination_url(page, category, append, onlyPage) %}
  11.     {% apply spaceless %}
  12.         {% set params = [] %}
  13.         {% set route = null %}
  14.         {% if app.request.attributes.get('_route_params') %}
  15.             {% set params = app.request.attributes.get('_route_params') %}
  16.         {% endif %}
  17.         {% if app.request.attributes.get('_route') %}
  18.             {% set route = app.request.attributes.get('_route') %}
  19.         {% endif %}
  20.         {% if append %}
  21.             {% set params = params | merge(append) %}
  22.         {% endif %}
  23.         {% if page != 1 %}
  24.             {% if not params %}
  25.                 {% set params = [] %}
  26.             {% endif %}
  27.             {% set params = params | merge({'page': page}) %}
  28.         {% endif %}
  29.         {% if route %}
  30.             {% if params %}
  31.                 {% set pageUrl = url(route, params) %}
  32.             {% else %}
  33.                 {% set pageUrl = url(route) %}
  34.             {% endif %}
  35.         {% else %}
  36.             {% set pageUrl = '' %}
  37.         {% endif %}
  38.         {% if onlyPage %}
  39.             {{ pimcore_url({page}) }}
  40.         {% else %}
  41.             {{ pageUrl }}
  42.         {% endif %}
  43.     {% endapply %}
  44. {% endmacro %}
  45. {% if pages.pageCount > 1 %}
  46.     {% if q is defined %}
  47.         {% set append = append | merge({q}) %}
  48.     {% elseif watchesfilter is defined %}
  49.         {% set append = append | merge({watchesfilter}) %}
  50.     {% endif %}
  51.     <nav aria-label="Page navigation">
  52.         <ul class="pagination justify-content-center">
  53.             {% if pages.previous is defined %}
  54.                 {% if pages.previous %}
  55.                     <li class="page-item d-none d-md-block">
  56.                         <a class="page-link"
  57.                            href="{{ generator.generate_seo_pagination_url(1, category, append, onlyPage) }}">«</a>
  58.                     </li>
  59.                     <li class="page-item">
  60.                         <a class="page-link"
  61.                            href="{{ generator.generate_seo_pagination_url(pages.previous, category, append, onlyPage) }}"><</a>
  62.                     </li>
  63.                 {% endif %}
  64.             {% endif %}
  65.             {% for page in pages.pagesInRange %}
  66.                 <li class="page-item">
  67.                     <a class="page-link {% if page == pages.current %} page-link-active {% endif %}"
  68.                        href="{{ generator.generate_seo_pagination_url(page, category, append, onlyPage) }}">{{ page }}</a>
  69.                 </li>
  70.             {% endfor %}
  71.             {% if pages.next is defined %}
  72.                 {% if pages.next %}
  73.                     <li class="page-item">
  74.                         <a class="page-link"
  75.                            href="{{ generator.generate_seo_pagination_url(pages.next, category, append, onlyPage) }}">></a>
  76.                     </li>
  77.                     <li class="page-item d-none d-md-block">
  78.                         <a class="page-link" href="{{ generator.generate_seo_pagination_url(pages.pageCount, category, append, onlyPage) }}">»</a>
  79.                     </li>
  80.                 {% endif %}
  81.             {% endif %}
  82.         </ul>
  83.     </nav>
  84. {% endif %}