Tôi đang làm việc trên một số phân trang và tôi tự hỏi nếu có một cách để nói với chất lỏng chỉ hiển thị 5 trang. Sản lượng Tôi đang tìm kiếm làChất lỏng và số học
< < Trước 5 6 8 9 Cuối cùng >>
Logic Tôi hiện đang có tại công trình nơi nhưng nó cho thấy tất cả 30 số trang.
{% 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 %}
Tôi muốn để có thể làm cho 2 và paginator.total_pages phải năng động, tôi đã cố gắng
{% for count in ((paginator.page - 2)..(paginator.page + 2)) %}
Mã này tuy nhiên không thực sự làm toán, nếu paginator.page = 5 thì vòng lặp là 5..5 và không cung cấp kết quả mong đợi. Tôi có thể tìm ra logic để nó không đánh số âm và hoạt động như mong đợi nhưng làm thế nào tôi có thể làm phương trình toán học trong điều này?
Cảm ơn bạn vì câu trả lời đó có ý nghĩa. Tuy nhiên tôi thấy mình chống lại một lỗi khác khi cố gắng thiết lập vòng lặp của tôi. Tôi cần phải kiểm tra xem liệu page_end có lớn hơn tổng số trang hay không. {% if PAGE_END> paginator.total_pages%} { % gán PAGE_END = paginator.total_pages%} {% endif%} Đoạn mã trên mang lại cho tôi những lỗi sau ngoại lệ lỏng: so sánh chuỗi với 37 thất bại trong index.html Có cách nào để thực hiện điều này trong Liquid không? –
Tôi đã tìm ra điều này, chỉ cần mở rộng pagination.rb trong Jekyll và thêm các biến pager_start và pager_end và các tính toán –
Đối với những người dùng Google tìm cách tiếp cận tương thích với GitHub Pages hiện đại hơn, không liên quan đến lập trình Ruby, hãy xem [this ] (http://stackoverflow.com/a/31972386/5195629). Tiết lộ: Tôi đã viết câu trả lời. – Shadowen