【问题标题】:How to limit knp_paginator from extending?如何限制 knp_paginator 扩展?
【发布时间】:2018-04-12 20:52:22
【问题描述】:

我想永远限制分页框。假设加载了 100 个事件 -> 每页显示 3 个事件;并且这样的分页框[1][2][3][4]....[40] 不会继续...

【问题讨论】:

    标签: symfony knppaginator


    【解决方案1】:

    我猜 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 函数。

    什么对你有用。

    【讨论】:

    • 如果其中一个答案对您有用,请关注此doc 以结束本主题。
    【解决方案2】:

    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
    

    【讨论】:

      猜你喜欢
      • 2019-09-05
      • 2019-06-15
      • 2016-02-18
      • 2019-04-24
      • 1970-01-01
      • 2017-04-17
      • 2020-02-05
      • 1970-01-01
      • 2016-09-06
      相关资源
      最近更新 更多