微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Twig 3 模板中显示功能分页

如何解决如何在 Twig 3 模板中显示功能分页

目标是使用 Twig 3 添加分页,其显示功能与 Stack Overflow 问题提要底部使用的分页相同:

Screenshot of Stack Overflow pagination

在其他问题和外部论坛中对此进行的研究只能使用折旧的树枝函数产生结果,因此请在此处询问以防万一有人对如何正确执行此操作有任何见解。

我有一个当前显示分页的树枝模板,但以数字方式列出和超链接列表中的每一页,而不像 Stack Overflow 那样修剪和添加省略号(也没有动态的下一个/上一个链接)。对于某些背景,一些参数决定是围绕我正在使用的 API 制定的,并遵循其对 JSON 数据的 HTTP 请求的文档。这个模板是功能性的,但从面向用户的设计角度来看并不实用:

{% set pgonpage = 5 %}
  {% set pgofpages = (count/pgonpage) | round(0,'ceil') %}
    <p>{% for i in 1..pgofpages %} 
    {% if i==urlparam.pg %} 
    (<strong>{{urlparam.pg}}</strong>)
  {% else %} 
    <a href=?pg={{i}}>{{i}}</a>
  {% endif %} 
{% endfor %}</p>

为简洁起见,我删除了上面循环主要内容的模板的一部分,但为了澄清 {% set pgonpage = 5 %} 标签设置了要在给定页面显示的 JSON 数据的数量,并且是功能性的。

模板网址如下所示:

{% set page = 1 %}
  {% if urlparam.pg > 0 %}
    {% set page = urlparam.pg %}
  {% endif %}
https://api.example.com?per_page=5&page={{page}}

这是 https://actual.example.com?pg=1 上的结果:

Screenshot of Pagination Resulting from Current Twig Template

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。