Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用KnpPaginatorBundle在symfony 4中分页_Symfony_Symfony Forms_Symfony 2.1_Symfony4 - Fatal编程技术网

使用KnpPaginatorBundle在symfony 4中分页

使用KnpPaginatorBundle在symfony 4中分页,symfony,symfony-forms,symfony-2.1,symfony4,Symfony,Symfony Forms,Symfony 2.1,Symfony4,试图从命名空间“App\Knp\Bundle\PaginatorBundle”加载类“KnpPaginatorBundle”。您是否忘记了“Knp\Bundle\PaginatorBundle\KnpPaginatorBundle”的“use”语句 只需添加KnpPaginatorBundle的类名称空间: 在config/bundles.php中: <?php return [ Symfony\Bundle\FrameworkBundle\FrameworkBundle:

试图从命名空间“
App\Knp\Bundle\PaginatorBundle
”加载类“
KnpPaginatorBundle
”。您是否忘记了“
Knp\Bundle\PaginatorBundle\KnpPaginatorBundle
”的“
use
”语句


只需添加
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]

解决方案是创建一个新的存档
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
在控制器中添加
后,在类中扩展控制器

<?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));

    }

参考:

图像链接?不用了,谢谢。用2.1和4标记问题?很不寻常。错误消息本身会告诉您它到底出了什么问题以及如何修复。很抱歉,我刚开始使用symfony一周,所以我使用了use语句,但如果您可以查看图像以查看我的控制器和其他页面,则不会有任何更改。单击随机发布的图像对您来说是个好主意吗?我猜问题出在config/bundles.php中,因为这是我能想到的唯一一个你可以引用
KnpPaginatorBundle
-类的地方。如果不是这样的话,在您使用类
KnpPaginatorBundle
的src/文件夹中搜索,并检查use语句是否在文件顶部的列表中。不,不是真的,但当我们使用KnpPaginatorBundle时,我们使用相同的类,所以我尝试以任何方式显示我在KnpPaginatorBundle说明中使用的代码,而不是图像问题问题是sirin Symfony4中的分页新捆绑包会自动添加到配置文件中!它可以在没有create archive.yml的情况下工作,您没有说我们需要在哪里添加它。当然,帮助全文:
<div class="navigation">
  {{ knp_pagination_render(pagination) }}
</div>