1

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

Stack Overflow 分页截图

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

我有一个当前显示分页的树枝模板,但以数字方式列出和超链接列表中的每个页面,而不像 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 数据的数量,并且是功能性的。

这是模板 URL 的外观:

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

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

当前 Twig 模板产生的分页截图

4

0 回答 0