gpt4 book ai didi

symfony - 使用 SonataAdminBundle 的用户和用户组

转载 作者:行者123 更新时间:2023-12-02 14:08:19 25 4
gpt4 key购买 nike

我正在使用 FOSUserBundle 1.3 和扩展它的 SonataUserBundle。我有自己的包,它扩展了 SonataUserBundle,并在其中保留了我的用户管理类以及用户和用户组实体(以及关联的 .orm.xml 映射)

我的config.yml:

parameters:
sonata.user.admin.user.entity: Acme\Bundle\UserBundle\Entity\User
sonata.user.admin.group.entity: Acme\Bundle\UserBundle\Entity\Group
sonata.user.admin.user.class: Acme\Bundle\UserBundle\Admin\UserAdmin

fos_user:
db_driver: orm
firewall_name: main
user_class: Acme\Bundle\UserBundle\Entity\User
group:
group_class: Acme\Bundle\UserBundle\Entity\Group
group_manager: sonata.user.orm.group_manager
service:
user_manager: sonata.user.orm.user_manager

这两个实体类基本上只是扩展了 Sonata 的用户类和组类。我的用户管理类扩展了 Sonata\UserBundle\Admin\Entity\UserAdmin。

问题是在我的/admin 中,当我列出用户时,出现错误:

Notice: Undefined index: groups in /vagrant/vendor/sonata-project/doctrine-orm-admin-bundle/Guesser/FilterTypeGuesser.php line 64

最佳答案

编辑:正如@Hemang 指出的那样,我的第一个答案并不是很明确。所以我更正了它

为了获得用户实体的正确映射,您必须启用 SonataEasyExtendsBundle。

为此,只需编辑 AppKernel.php 并添加以下行

new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle()

在registerBundles函数中。

这是一个有效的 AppKernel.php 示例:

<?php

use Symfony\Component\HttpKernel\Kernel;
use Symfony\Component\Config\Loader\LoaderInterface;

class AppKernel extends Kernel
{

public function registerBundles()
{
$bundles = array(
new Symfony\Bundle\FrameworkBundle\FrameworkBundle(),
new Symfony\Bundle\SecurityBundle\SecurityBundle(),
new Symfony\Bundle\TwigBundle\TwigBundle(),
new Symfony\Bundle\MonologBundle\MonologBundle(),
new Symfony\Bundle\SwiftmailerBundle\SwiftmailerBundle(),
new Symfony\Bundle\AsseticBundle\AsseticBundle(),
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
new Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle(),

new Knp\Bundle\MenuBundle\KnpMenuBundle(),
new Ivory\CKEditorBundle\IvoryCKEditorBundle(),
new FOS\UserBundle\FOSUserBundle(),
new Sonata\CoreBundle\SonataCoreBundle(),
new Sonata\BlockBundle\SonataBlockBundle(),
new Sonata\DoctrineORMAdminBundle\SonataDoctrineORMAdminBundle(),
new Sonata\AdminBundle\SonataAdminBundle(),
new Sonata\UserBundle\SonataUserBundle('FOSUserBundle'),
new Application\Sonata\UserBundle\ApplicationSonataUserBundle(),
new Sonata\EasyExtendsBundle\SonataEasyExtendsBundle(),
);

if (in_array($this->getEnvironment(), array('dev', 'test'))) {
$bundles[] = new Symfony\Bundle\WebProfilerBundle\WebProfilerBundle();
$bundles[] = new Sensio\Bundle\DistributionBundle\SensioDistributionBundle();
$bundles[] = new Sensio\Bundle\GeneratorBundle\SensioGeneratorBundle();
}

return $bundles;
}

public function registerContainerConfiguration(LoaderInterface $loader)
{
$loader->load(__DIR__ . '/config/config_' . $this->getEnvironment() . '.yml');
}

}

关于symfony - 使用 SonataAdminBundle 的用户和用户组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26018393/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com