From e1e7af58191ac3fb969818e568c0acede2ee9ba4 Mon Sep 17 00:00:00 2001 From: Jarmil <jarmil.halamicek@seznam.cz> Date: Wed, 7 Oct 2020 13:58:06 +0200 Subject: [PATCH] Stranka MS - aktuality: strankovani --- district/models.py | 11 +++--- .../templates/district/district_articles.html | 34 +++++++++++++++++++ 2 files changed, 39 insertions(+), 6 deletions(-) diff --git a/district/models.py b/district/models.py index eb1d1000..8a877ea3 100644 --- a/district/models.py +++ b/district/models.py @@ -1,3 +1,4 @@ +from django.core.paginator import Paginator from django.db import models from django.utils.translation import gettext_lazy from wagtail.admin.edit_handlers import FieldPanel, MultiFieldPanel, StreamFieldPanel @@ -89,10 +90,8 @@ class DistrictArticles(MetadataPageMixin, Page): def get_context(self, request): context = super().get_context(request) - context["articles"] = ( - self.get_siblings(inclusive=False) - .type(Article) - .live() - .specific()[: self.max_items] - ) + context["articles"] = Paginator( + self.get_siblings(inclusive=False).type(Article).live().specific(), + self.max_items or 5, + ).get_page(request.GET.get("page")) return context diff --git a/district/templates/district/district_articles.html b/district/templates/district/district_articles.html index e109ae7c..55d31691 100644 --- a/district/templates/district/district_articles.html +++ b/district/templates/district/district_articles.html @@ -11,5 +11,39 @@ {% endfor %} </div> + <div class="pagination-container" role="navigation" aria-label="Pagination"> + <nav> + + {% if articles.has_previous %} + <a href="/aktuality/?page={{ articles.previous_page_number }}" class="btn btn--icon btn--grey-125 btn--hoveractive btn--to-black btn--condensed btn--inverted-icon px-0" aria-label="PĹ™edchozĂ stránka"> + <div class="btn__body-wrap"> + <div class="btn__body ">PĹ™edchozĂ</div> + <div class="btn__icon "> + <i class="ico--chevron-left"></i> + </div> + </div> + </a> + {% endif %} + + {% for i in articles.paginator.page_range %} + <a href="/aktuality/?page={{ i }}" class="btn {% if i == articles.number %} btn--grey-500 {% else %} btn--grey-125 {% endif %} btn--hoveractive btn--to-black btn--condensed hidden md:inline-block px-0" aria-label="Stránka {{ i }}"> + <div class="btn__body ">{{ i }}</div> + </a> + {% endfor %} + + {% if articles.has_next %} + <a href="/aktuality/?page={{ articles.next_page_number }}" class="btn btn--icon btn--grey-125 btn--hoveractive btn--to-black btn--condensed px-0" aria-label="Dalšà stránka"> + <div class="btn__body-wrap"> + <div class="btn__body ">DalšĂ</div> + <div class="btn__icon "> + <i class="ico--chevron-right"></i> + </div> + </div> + </a> + {% endif %} + + </nav> + </div> + </main> {% endblock %} -- GitLab