Я установил knp paginator в symfony 5, он отлично работает. Но когда я пытаюсь настроить шаблон начальной загрузки в config / package / paginator.yaml не работает.
Я нашел https://github.com/KnpLabs/KnpPaginatorBundle/issues/468 Мне нужно было использовать контроллер вместо abstractController. Также я нашел https://ourcodeworld.com/articles/read/876/how-to-solve-knppaginator-exception-in-symfony-4-service-knp-paginator-not-found-even-othing-it-exists-in- контейнер приложения, который предлагает напрямую ввести пагинатор, затем я сделал это:
class UsuariosController extends AbstractController
{
/**
* @Route("/list1", name = "list")
*/
public function list(Request $request, PaginatorInterface $paginator)
{
// Retrieve the entity manager of Doctrine
$em = $this->getDoctrine()->getManager();
// Get some repository of data, in our case we have an Appointments entity
$usuariosRepository = $em->getRepository(Usuarios::class);
// Find all the data on the Appointments table, filter your query as you need
//->where('p.activo != :activo')
//->setParameter('activo', '1')
$allUsuariosQuery = $usuariosRepository->createQueryBuilder('p')
->getQuery();
// Paginate the results of the query
$usuarios = $paginator->paginate(
// Doctrine Query, not results
$allUsuariosQuery,
// Define the page parameter
$request->query->getInt('page', 1),
// Items per page
7
);
// Render the twig view
return $this->render('usuarios/index.html.twig', [
'usuarios' => $usuarios
]);
}
В config / package / paginator.yaml у меня есть:
knp_paginator:
page_range: 15 # number of links showed in the pagination menu (e.g: you have 10 pages, a page_range of 3, on the 5th page you'll see links to page 4, 5, 6)
default_options:
page_name: page # page query parameter name
sort_field_name: sort # sort field query parameter name
sort_direction_name: direction # sort direction query parameter name
distinct: true # ensure distinct results, useful when ORM queries are using GROUP BY statements
filter_field_name: filterField # filter field query parameter name
filter_value_name: filterValue # filter value query paameter name
template:
pagination: '@KnpPaginator/Pagination/twitter_bootstrap_v4_pagination.html.twig' # sliding pagination controls template
sortable: '@KnpPaginator/Pagination/sortable_link.html.twig' # sort link template
filtration: '@KnpPaginator/Pagination/filtration.html.twig'
Теперь он не показывает загрузку, а показывает шаблон по умолчанию: slide.html.twig
Спасибо.




Решено
http://knpbundles.com/KnpLabs/KnpPaginatorBundle
Сервис knp_paginator будет создаваться лениво, если установлен пакет symfony / proxy-manager-bridge.
А ТАКЖЕ https://github.com/KnpLabs/KnpPaginatorBundle Сервис knp_paginator будет создаваться лениво, если установлен пакет symfony / proxy-manager-bridge.
Тогда мне пришлось:
композитору требуется symfony / proxy-manager-bridge
теперь у меня работает.
PD: кнп пагинатор должен быть установлен с композитору требуется knplabs / knp-paginator-bundle