Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Symfony 如何限制knp_paginator的扩展?_Symfony_Knppaginator - Fatal编程技术网

Symfony 如何限制knp_paginator的扩展?

Symfony 如何限制knp_paginator的扩展?,symfony,knppaginator,Symfony,Knppaginator,我想永远限制分页框的使用。假设加载了100个事件->显示3个事件/页;这样分页框[1][2][3][4]…[40]就不会继续了 在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

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

在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
我猜knp paginator可以为您这样做,但如果不行,您可以尝试修改上面的任何模板以执行以下操作:

设置一个控制变量

然后找到像这样的循环

{% 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函数


什么对你有用。

如果其中一个答案对你有用,请按照此结束本主题。
{% 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 %}