我正在研究一些分页,我想知道是否有办法告诉 Liquid 只显示 5 页。我正在寻找的输出是
78 9 最后>>
我目前的逻辑有效,但它显示了所有 30 个页面。
{% 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 %}
我希望能够使 2 和 paginator.total_pages 是动态的,我已经尝试过
{% for count in ((paginator.page - 2)..(paginator.page + 2)) %}
然而,这段代码实际上并没有进行数学计算,如果 paginator.page = 5 则循环为 5..5 并且不提供预期结果。我可以弄清楚逻辑,这样它就不会达到负数并按预期工作,但我该如何做数学方程呢?
您需要使用过滤器paginator.total_pages
进行算术运算,然后使用以下命令将结果捕获到变量中capture
标签。有了开始页和结束页后,您就可以编写for
像平常一样循环:
{% capture page_start %}{{ paginator.page | minus: 2 }}{% endcapture %}
{% capture page_end %}{{ paginator.page | plus: 2 }}{% endcapture %}
{% for count in (page_start..page_end) %}
{% comment %} ... do your thing ... {% endcomment %}
{% endfor %}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)