首页 文章

SonataDoctrineORMAdminExtension.php

提问于
浏览
1

我试图在我的symfony项目中安装sonataAdminBundle,这是我的composer.json文件

我跟随https://sonata-project.org/bundles/admin/2-3/doc/getting_started/installation.html

"sonata-project/admin-bundle": "~2.0",
    "sonata-project/doctrine-orm-admin-bundle": "2.2.x-dev"

我把它放在我的appkernel文件中

new Sonata\CoreBundle\SonataCoreBundle(),
        new Sonata\BlockBundle\SonataBlockBundle(),
        new Knp\Bundle\MenuBundle\KnpMenuBundle(),
        new Sonata\AdminBundle\SonataAdminBundle(),
        new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),

在我的config.yml文件中 sonata_block: default_contexts: [cms] blocks: sonata.admin.block.admin_list: contexts: [admin] 我有这个问题

SonataDoctrineORMAdminExtension.php第29行中的ClassNotFoundException:尝试从命名空间“Sonata \ AdminBundle \ DependencyInjection”加载类“AbstractSonataAdminExtension” . 您是否忘记了另一个命名空间的“use”语句?

1 回答

  • 1

    这是一个Composer问题 - Composer生成的依赖集导致了这个bug . 截至本文发布时,Symfony的长期支持版本为2.8.3 . 这里有一组命令命令,可以让我使用Sonata Admin运行这个版本的Symfony:

    • 安装Symfony:
    $ symfony new my_project_name lts
    
    • 将Sensio Generator捆绑软件降级到版本2.3:
    $ composer require sensio/generator-bundle "2.3.*"
    
    • 安装Sonata Admin捆绑包及其依赖项:
    $ composer require sonata-project/admin-bundle "2.3.*"
    $ composer require sonata-project/doctrine-orm-admin-bundle "2.3.*"
    $ composer require sonata-project/jquery-bundle
    
    • 对于jquery-bundle,您可能会看到错误: The child node "default_contexts" at path "sonata_block" must be configured. 如果看到它,请转到下一步 . 完成下一步后,再次尝试安装jquery-bundle .

    • 执行其他步骤,如Sonata管理员安装文档here中所述:在 app/AppKernel.php 中注册已安装的软件包,更改 app/config/config.ymlapp/config/routing.yml ,清除缓存并安装资产 .

    之后,您应该能够运行该应用程序 .

相关问题