如何将参数附加到 KNP 分页器 url

Posted

技术标签:

【中文标题】如何将参数附加到 KNP 分页器 url【英文标题】:How To append parameters to KNP paginator url 【发布时间】:2014-01-16 20:50:43 【问题描述】:

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

这是我的设置:

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

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

如果可以,请提供帮助。

谢谢。

【问题讨论】:

【参考方案1】:

根据KnpPaginator documentation,可以追加查询参数如下:

$paginator = $this->get('knp_paginator');
...
$pagination->setParam('section', 'supplier');

【讨论】:

谢谢,这正是我想要的。【参考方案2】:

您可以扩展 kn_pagination_sortable 模板。当你在后台运行“knp_pagination_sortable”时,它基本上会根据你的规范生成一个 html。但是,您可以扩展它。您可以为该 pagination_sortable 编写自己的模板,而不是使用捆绑包为该元素生成的 HTML。这是我正在从事的项目中的一个 sn-p。这是在我的 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>

明白了吗?您可以拥有这样的模板并根据需要进行更改。

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

Overriding default pagination template

【讨论】:

【参考方案3】:

截至 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) 

【讨论】:

【参考方案4】:

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

  knp_pagination_render(clients, ('annuaire/my_pagination.html.twig'), "type": type ? type : '' ,"city": city ? city : '') 

【讨论】:

以上是关于如何将参数附加到 KNP 分页器 url的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Twig 中为 KNP 分页器获取分页方向?

knp 分页器仅适用于数组

有没有办法让 knp 分页器只显示下一个和上一个按钮

带有 findAll() 方法的 Knp 分页器

排序在 Knp 分页器中不起作用

KNP 分页链接卡在第 1 页