2

我正在使用 KNP Paginator 包进行分页。有谁知道如何将参数附加到生成的网址?

这是我的设置:

 {{ knp_pagination_sortable(supplierProducts, 'Product Sku', 'p.name') }}

我想将 §ion=supplier 添加到 URL 的末尾,我只是不知道该怎么做。我浏览了文档,但没有找到任何信息。

如果可以的话请帮忙。

谢谢。

4

4 回答 4

4

根据KnpPaginator 文档,您可以附加查询参数,如下所示:

$paginator = $this->get('knp_paginator');
...
$pagination->setParam('section', 'supplier');
于 2015-09-10T08:52:37.727 回答
0

您可以扩展 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>

得到它?您可以拥有这样的模板并根据需要进行更改。

您可以在下面的链接中找到更多信息。

覆盖默认分页模板

于 2014-05-05T21:31:57.230 回答
0

截至 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) }}
于 2020-12-16T11:16:33.747 回答
-1

要在 url 中添加参数,我是这样进行的:在前面:

 {{ knp_pagination_render(clients, ('annuaire/my_pagination.html.twig'), {"type": type ? type : '' ,"city": city ? city : ''}) }}
于 2021-04-30T11:04:14.143 回答