src/Elements/Bundle/DemiFrontendBundle/Resources/views/Includes/elements/paging.desktop.html.twig line 1

Open in your IDE?
  1. {#
  2. /**
  3.  * @var addClass string
  4.  * @var totalItemCount
  5.  * @var firstPageInRange
  6.  * @var pagesInRange array
  7.  * @var lastPageInRange
  8.  * @var showFirstLast bool
  9.  * @var fist
  10.  * @var last
  11.  
  12.  * @var \Pimcore\Templating\PhpEngine view
  13.  * @var \Pimcore\Templating\GlobalVariables app
  14.  * @var Elements\Demi\Accommodation\Search\Parameter searchParam
  15.  */ #}
  16. {% set currentPage = app.getRequest().get('page', 1) %}
  17. {% set randSeed = searchParam is instanceof('\\Elements\\Demi\\Accommodation\\Search\\Parameter') ? searchParam.getOrderRandSeed() : 1 %} 
  18. {% set showFirstLast = true %}
  19. {% if pageCount > 1 %}
  20.     {% set array = {"[FROM]" : firstItemNumber, "[TO]" : lastItemNumber, "[ALL]" : totalItemCount|default(null) ?: totalCount|default(0)} %}
  21.     <div class="container my-4">
  22.         {% do jsConfig().add('scrollToTop', true) %}
  23.         <div class="row align-items-center">
  24.             <div class="col text-center mb-3">
  25.                 <a href="#" class="btn btn-link js-scroll-to-top">{{ "demi.paging.to-top-of-list" | trans }}</a>
  26.                 <span class="ml-5">{{ demi_fillTranslation(array, "demi.paging.results-from-to") }}</span>
  27.             </div>
  28.         </div>
  29.         <div class="row row--gutter-width-0 align-items-center justify-content-center">
  30.             <div class="col col-auto">
  31.                 {% if previous is defined %}
  32.                     {% do pimcore_placeholder('headPrev').set('<link rel="prev" href="' ~ pimcore_url({'page' : previous, 'randSeed' : randSeed}, null) ~ '">') %}
  33.                     <a href="{{ pimcore_url({'page' : previous, 'randSeed' : randSeed}) }}"
  34.                        class="btn btn-link js-acco-list__set-page" data-page="{{ previous }}" rel="prev">
  35.                         {{ 'demi.paging.back' | trans }}
  36.                     </a>
  37.                 {% else %}
  38.                     <a class="btn btn-link disabled">
  39.                         {{ 'demi.paging.back' | trans }}
  40.                     </a>
  41.                 {% endif %}
  42.             </div>
  43.             <div class="col col-auto">
  44.                 {% if  showFirstLast %}
  45.                     {% if  firstPageInRange != first %}
  46.                         <a href="{{ pimcore_url({'page' : first, 'randSeed' : randSeed}) }}"
  47.                            class="btn btn-default paging__btn js-acco-list__set-page {{ first == currentPage ? 'active' : '' }}"
  48.                            data-page="{{ first }}">{{ first }}</a>
  49.                     {% endif %}
  50.                     {% if  firstPageInRange > first+1 and firstPageInRange < first+3 %}
  51.                         <a href="{{ pimcore_url({'page' : first+1, 'randSeed' : randSeed}) }}"
  52.                            class="btn btn-default paging__btn js-acco-list__set-page {{ first+1 == currentPage ? 'active' : '' }}"
  53.                            data-page="{{ first+1 }}">{{ first+1 }}</a>
  54.                     {% endif %}
  55.                     {% if  firstPageInRange > first+2 %}
  56.                         <a href="#">...</a>
  57.                     {% endif %}
  58.                 {% endif %}
  59.                 {% for page in pagesInRange %}
  60.                     <a href="{{ pimcore_url({'page' : page, 'randSeed' : randSeed}) }}"
  61.                        class="btn btn-default paging__btn js-acco-list__set-page {{ page == currentPage ? 'active' : '' }}"
  62.                        data-page="{{ page }}">{{ page }}</a>
  63.                     {% if page == currentPage %}
  64.                         <span class="sr-only">({{ 'sr.demi.page.current' | trans }})</span>
  65.                     {% endif %}
  66.                 {% endfor %}
  67.                 {% if  showFirstLast %}
  68.                     {% if  lastPageInRange < last-2 %}
  69.                         <a href="#">...</a>
  70.                     {% endif %}
  71.                     {% if  lastPageInRange < last-1 and lastPageInRange > last-3 %}
  72.                         <a href="{{ pimcore_url({'page': last-1, 'randSeed' : randSeed}) }}"
  73.                            class="btn btn-default paging__btn js-acco-list__set-page {{ last-1 == currentPage ? 'active' : '' }}"
  74.                            data-page="{{ last-1 }}">{{ last-1 }}</a>
  75.                     {% endif %}
  76.                     {% if  lastPageInRange != last %}
  77.                         <a href="{{ pimcore_url({'page' : last, 'randSeed' : randSeed}) }}"
  78.                            class="btn btn-default paging__btn js-acco-list__set-page {{ last == currentPage ? 'active' : '' }}"
  79.                            data-page="{{ last }}">{{ last }}</a>
  80.                     {% endif %}
  81.                 {% endif %}
  82.             </div>
  83.             <div class="col col-auto">
  84.                 {% if next is defined %}
  85.                     {% do pimcore_placeholder('headNext').set('<link rel="next" href="' ~ pimcore_url({'page' : next, 'randSeed' : randSeed}) ~ '">') %}
  86.                     <a href="{{ pimcore_url({'page' : next, 'randSeed' : randSeed}) }}"
  87.                        class="btn btn-link js-acco-list__set-page" data-page="{{ next }}" rel="next">
  88.                         {{ 'demi.paging.forward' | trans }}
  89.                     </a>
  90.                 {% else %}
  91.                     <a class="btn btn-link disabled">
  92.                         {{ 'demi.paging.forward' | trans }}
  93.                     </a>
  94.                 {% endif %}
  95.             </div>
  96.         </div>
  97.     </div>
  98. {% endif %}