#arrays #symfony #pagination #twig #twig-filter
Вопрос:
Цель состоит в том, чтобы добавить разбиение на страницы с помощью ветки 3, которая отображает и функционирует идентично разбиению на страницы, используемому в нижней части каналов вопросов переполнения стека:
Исследование этого в других вопросах и на внешних форумах дало результаты только с использованием устаревших функций ветки, поэтому спрашивайте здесь, если у кого-то есть какие-либо идеи о том, как это правильно сделать.
У меня есть шаблон веточки, который в настоящее время отображает разбиение на страницы, но численно перечисляет и ссылается на каждую страницу в списке без обрезки и добавления многоточий, как это делает переполнение стека (также у него нет динамических следующих/предыдущих ссылок). Для некоторого фона некоторые решения по параметрам формируются вокруг API, с которым я работаю, и следуют его документации для HTTP-запросов к данным JSON. Этот шаблон функционален, но он непрактичен с точки зрения пользовательского дизайна:
{% 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=5amp;page={{page}}
Это результат, если на https://actual.example.com?pg=1
: