Попытка загрузить класс «KnpPaginatorBundle» из пространства имен «App\Knp\Bundle\PaginatorBundle». Вы забыли заявление "use" для "Knp\Bundle\PaginatorBundle\KnpPaginatorBundle"?
извините, я просто запускаю Symfony через неделю, поэтому я использую оператор use, но ничего не меняется, если вы можете проверить изображения, чтобы увидеть мой контроллер и другие страницы
Кажется ли вам хорошей идеей нажимать на случайно размещенные изображения?
Я предполагаю, что проблема в config / bundles.php, потому что это единственное место, которое я могу придумать, где бы вы могли сослаться на класс KnpPaginatorBundle. Если это не так, выполните поиск в папке src /, где вы используете класс KnpPaginatorBundle, и проверьте, есть ли оператор use в списке вверху файла.
нет, не совсем, но когда мы используем KnpPaginatorBundle, мы используем те же классы, поэтому я попытался показать код, который я использовал его же, в инструкциях KnpPaginatorBundle в любом случае, изображения не проблема, проблема в paginatin сэр
Спасибо, dbrumann, я проверил ваше решение, но проблема с smae все еще не устранена. Вы раньше использовали KnpPaginatorBundle под Symfony 4?
Вы можете показать нам содержимое вашего файла bundles.php?




Просто добавьте пространство имен классов KnpPaginatorBundle:
в config/bundles.php:
<?php
return [
Symfony\Bundle\FrameworkBundle\FrameworkBundle::class => ['all' => true],
Symfony\Bundle\TwigBundle\TwigBundle::class => ['all' => true],
***************************************************************
***************************************************************
Knp\Bundle\PaginatorBundle\KnpPaginatorBundle::class => ['all' => true]
];
Вы забыли добавить свой Bundle в ядро, именно в config/bundles.php
Knp\Bundle\PaginatorBundle\KnpPaginatorBundle::class => ['all' => true]
в Symfony4 новые пакеты автоматически добавляются в файл конфигурации!
Решение - создать новый архив paginator.yaml.
//config/paginator.yaml
knp_paginator:
page_range: 5 # rango por defecto de paginas en los controles del paginador
default_options:
page_name: page # nombre del parámetro de la URL para la página
sort_field_name: sort # nombre del parámetro de la URL para la ordenación
sort_direction_name: direction # nombre del parámetro de la URL para la dirección(ASC o DESC)
distinct: true # Garantizar resultados distintos
template:
pagination: '@KnpPaginator/Pagination/sliding.html.twig' # plantilla controles
sortable: KnpPaginatorBundle:Pagination:sortable_link.html.twig # plantilla links ordenación
После в Контроллере добавляем extends Controller в класс
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Routing\Annotation\Route;
use App\Entity\Usuario;
use App\Form\UsuarioType;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Security\Core\Encoder\UserPasswordEncoderInterface;
/**
* @Route("/admin/usuarios")
*/
class BackendController extends Controller
{
/**
* @Route("/", name = "admin")
*/
public function index(Request $request)
{
$usuarios = $this->getDoctrine()
->getRepository(Usuario::class)
->findAll();
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$usuarios, $request->query->getInt('page', 1), 20);
return $this->render('backend/usuario/index.html.twig',
array('pagination' => $pagination));
}
Наконец добавьте это в archive.yml
<div class = "navigation">
{{ knp_pagination_render(pagination) }}
</div>
Ссылка: https://github.com/KnpLabs/KnpPaginatorBundle/issues/468#issuecomment-356580135
Он работает без создания archive.yml, о котором вы не сказали, куда нам нужно его добавить. Конечно справка на всю страницу: github.com/KnpLabs/KnpPaginatorBundle
Ссылки на изображения? Спасибо, не надо. Помечаете вопрос с помощью 2.1 и 4? Довольно необычно. Само сообщение об ошибке сообщает вам, что именно не так и как это исправить.