我正在使用 KNP 分页器捆绑包进行分页。有谁知道如何将参数附加到生成的 url?
这是我的设置:
{{ knp_pagination_sortable(supplierProducts, 'Product Sku', 'p.name') }}
我想在 URL 的末尾添加 §ion=supplier,我只是不知道该怎么做。我浏览了文档,但没有找到任何信息。
如果可以的话,请帮忙。
谢谢。
根据 KnpPaginator 文档,您可以按如下方式追加查询参数:
$paginator = $this->get('knp_paginator');
...
$pagination->setParam('section', 'supplier');
您可以扩展kn_pagination_sortable模板。当你在幕后运行"knp_pagination_sortable"时,它基本上会根据你的规范生成一个HTML。但是,您可以扩展它。您可以为该pagination_sortable编写自己的模板,而不是为该元素使用捆绑包生成的 HTML。这是我正在做的项目的片段。这是我的pagination_sortable.html.twig:
<a id="table_sorteable_{{ options['title']|lower }}" {% for attr, value in options %} {{ attr }}="{{ value }}"{% endfor %}>
{{ title }}
<b class="caret {{ options['class'] }}"></b>
</a>
明白了吗?您可以拥有这样的模板并根据需要进行更改。
您可以在下面的链接中找到更多信息。
覆盖默认分页模板
> 截至 2020 年和 KnpPaginatorBundle v5.3,@likeitlikeit提出的解决方案不起作用,因为setParam
方法不再存在。
但是,您可以直接在 twig 中的 knp 助手中将参数附加到排序和分页链接:
{# 4th parameter for sortable helper #}
{{ knp_pagination_sortable(results, column.title, column.alias, {}, params) }}
{# 3rd parameter for pagination helper #}
{{ knp_pagination_render(results, '', params) }}
例如,如果要在排序和分页链接中包含查询参数,则可以执行以下操作:
{# Sort - pass all query parameters except sort column and direction #}
{% set params=app.request.query.all | filter((v, k) => (k != 'direction' and k != 'sort'))%}
{% for column in ... %}
{{ knp_pagination_sortable(results, column.title, column.alias, {}, params) }}
{% endfor %}
{# Pagination #}
{{ knp_pagination_render(results, '', app.request.query.all) }}
为了在 url 中添加参数,我像这样进行:前面:
{{ knp_pagination_render(clients, ('annuaire/my_pagination.html.twig'), {"type": type ? type : '' ,"city": city ? city : ''}) }}