繁体   English   中英

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

[英]How To append parameters to KNP paginator url

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

这是我的设置:

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

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

如果可以的话请帮忙。

谢谢。

根据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 : ''}) }}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM