【发布时间】:2018-04-12 20:52:22
【问题描述】:
我想永远限制分页框。假设加载了 100 个事件 -> 每页显示 3 个事件;并且这样的分页框[1][2][3][4]....[40] 不会继续...
【问题讨论】:
标签: symfony knppaginator
我想永远限制分页框。假设加载了 100 个事件 -> 每页显示 3 个事件;并且这样的分页框[1][2][3][4]....[40] 不会继续...
【问题讨论】:
标签: symfony knppaginator
我猜 knp 分页器会为你做这些,但如果它没有,你可以尝试修改上面的任何模板来做这样的事情: p>
设置控制变量
{% if pageCount > maxNumberOfBoxes %}
{% set breakpointAdded=true %}
{% endif %}
然后找到看起来像这样的循环
{% for page in pagesInRange %}
{% if page != current %}
<span class="page">
<a href="{{ path(route, query|merge({(pageParameterName): page})) }}">{{ page }}</a>
</span>
{% else %}
<span class="current">{{ page }}</span>
{% endif %}
{% endfor %}
并将其替换为类似的东西(当然用你自己的逻辑)
{% for i in range(0,pageCount) %}
{% if i > xBreakpoint and i < yBreakpoint and breakpointAdded == false %}
<span class="dots">...</span>
{% set breakpointAdded = true %}
{% else %}
{% if page != current %}
<span class="page">
<a href="{{ path(route, query|merge({(pageParameterName): page})) }}">{{ page }}</a>
</span>
{% else %}
<span class="current">{{ page }}</span>
{% endif %}
{% endif %}
{% endfor %}
如果这些方法可行,您可以尝试从 SlidingPagination 类修改 getPaginationData 函数。
什么对你有用。
【讨论】:
在config.yml 中添加:
knp_paginator:
page_range: 5 # number of links showed in the pagination menu (e.g: you have 10 pages, a page_range of 3, on the 5th page you'll see links to page 4, 5, 6)
如果您需要更改滑动,请使用以下任何一种:
template:
pagination: '@KnpPaginator/Pagination/sliding.html.twig'
@KnpPaginator/Pagination/sliding.html.twig (by default)
@KnpPaginator/Pagination/twitter_bootstrap_v3_pagination.html.twig
@KnpPaginator/Pagination/twitter_bootstrap_pagination.html.twig
@KnpPaginator/Pagination/foundation_v5_pagination.html.twig
【讨论】: