Как добавить параметры в URL-адрес пагинатора KNP

Я использую пакет KNP Paginator для разбивки на страницы. Кто-нибудь знает, как добавить параметры к сгенерированному URL?

Вот моя установка:

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

Я хочу добавить §ion=supplier в конец URL-адреса, но понятия не имею, как это сделать. Я просмотрел документы, но не нашел никакой информации.

Пожалуйста, помоги, если можешь.

Спасибо.


person LargeTuna    schedule 16.01.2014    source источник


Ответы (4)


Согласно документация KnpPaginator, вы можете добавить параметры запроса следующим образом:

$paginator = $this->get('knp_paginator');
...
$pagination->setParam('section', 'supplier');
person likeitlikeit    schedule 10.09.2015
comment
Спасибо, это было именно то, что я искал. - person Frédéric Klee; 19.05.2016

Вы можете расширить шаблон kn_pagination_sortable. Когда вы запускаете «knp_pagination_sortable» за кулисами, он в основном генерирует HTML в соответствии с вашими спецификациями. Тем не менее, вы можете продлить это. Вместо того, чтобы использовать сгенерированный пакетом HTML для этого элемента, вы можете написать свой собственный шаблон для этой pagination_sortable. Это фрагмент проекта, над которым я работаю. Это на моем 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>

Возьми? Вы можете иметь такой шаблон и изменять его в соответствии с вашими потребностями.

Более подробную информацию вы можете найти по ссылке ниже.

Переопределение шаблона разбиения на страницы по умолчанию

person Luis Milanese    schedule 05.05.2014

Начиная с 2020 года и KnpPaginatorBundle v5.3 решение, предложенное @likeitlikeit, не работает, потому что метод setParam больше не существует.

Но вы можете добавлять параметры к ссылкам сортировки и пагинации прямо в хелперах knp в twig:

{# 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) }}
person scandel    schedule 16.12.2020

Чтобы добавить параметры в URL-адрес, я поступил так: спереди:

 {{ knp_pagination_render(clients, ('annuaire/my_pagination.html.twig'), {"type": type ? type : '' ,"city": city ? city : ''}) }}
person Sitraka    schedule 30.04.2021