Pracuję na niektórych stronicowania i zastanawiam się, czy istnieje sposób, aby powiedzieć cieczy, aby pokazać tylko 5 stron. Wyjście szukam jestCiecz i arytmetyka
< < pierwsze 5 6 8 9 Ostatnia >>
Logika Obecnie mam w miejsce robót, ale pokazuje wszystkie 30 kilka stron.
{% for count in (2..paginator.total_pages) %}
{% if count == paginator.page %}
<span class="current">{{ count }}</span>
{% else %}
<a href="/page/{{ count }}/" class="pagenavi-page" title="{{ count }}">{{ count }}</a>
{% endif %}
{% endfor %}
Chciałbym być w stanie dokonać 2 i paginator.total_pages być dynamiczne, próbowałem
{% for count in ((paginator.page - 2)..(paginator.page + 2)) %}
Kod ten jednak faktycznie nie do matematyki, jeśli paginator.page = 5 następnie pętla ma wartość 5,5 i nie zapewnia oczekiwanych wyników. Mogę wymyślić logikę, aby nie trafiała ona w liczby ujemne i działa zgodnie z oczekiwaniami, ale jak mogę w tym celu zastosować równania matematyczne?
Dziękuję za tę odpowiedź ma to sens. Jednak próbuję skonfigurować moją pętlę. Muszę być w stanie sprawdzić, czy page_end jest większa niż całkowita liczba stron. {% if PAGE_END> paginator.total_pages%} {% obsadzać PAGE_END = paginator.total_pages%} {% endif%} Powyższy kod daje mi następujący błąd Ciecz Wyjątek: porównanie String z 37 zawiodły in index.html Czy można to zrobić w Liquid? –
Wyjaśniałem to, musiałem tylko rozszerzyć pagination.rb w Jekyll i dodać zmienne pager_start i pager_end oraz obliczenia –
Dla Googlersów szukających bardziej nowoczesnego podejścia zgodnego z GitHub Pages, które nie wymaga programowania w języku Ruby, sprawdź [ ] (http://stackoverflow.com/a/31972386/5195629). Ujawnienie: Napisałem odpowiedź. – Shadowen