Удаление группы полей от администратора

Я попытался следовать методу удаления группы и строки Sonata UserBundle, который объясняется здесь: Официальная Doc Sonata

Однако, если я это сделаю, ничего не произойдет, поэтому я немного поискал в Интернете, но ничего не нашел об этом. Я попытался добавить это:

sonata_user:

    security_acl: true
    manager_type: orm
    admin:
        user:
            class:          Application\Sonata\UserBundle\Admin\UserAdmin
            controller:     SonataAdminBundle:CRUD

Но потом я выхожу с большой ошибкой:

Автозагрузчик ожидал, что класс "Application\Sonata\UserBundle\Admin\UserAdmin" будет определен в файле "C:\wamp64\www\WebBundle\vendor\composer/../../src\Application\Sonata\UserBundle\Admin\ UserAdmin.php". Файл найден, но класса в нем нет, вероятно, в имени класса или пространстве имен есть опечатка.

Я также пытался поместить файл в AppBundle, но обнаружил ту же ошибку, не помещая admin : user: в файл config.yml:

Автозагрузчик ожидал, что класс "AppBundle\Admin\UserAdmin" будет определен в файле "C:\wamp64\www\WebBundle\vendor\composer/../../src\AppBundle\Admin\UserAdmin.php". Файл был найден, но класса в нем не было, имя класса или пространство имен, вероятно, имеют опечатку в C:\wamp64\www\WebBundle\app/config\services.yml (который импортируется из "C:\wamp64\ www\WebBundle\app/config\config.yml").


person jpp28    schedule 28.06.2017    source источник
comment
Да, я работаю с композитором 1.4.1, я запускаю его на wamp на своем компьютере в локальном хосте.   -  person jpp28    schedule 28.06.2017
comment
новая Sonata\EasyExtendsBundle\SonataEasyExtendsBundle(), новая FOS\UserBundle\FOSUserBundle(), новая Sonata\UserBundle\SonataUserBundle(), новая Application\Sonata\UserBundle\ApplicationSonataUserBundle(),   -  person jpp28    schedule 28.06.2017
comment
Даже если я попробую с новой Sonata\UserBundle\SonataUserBundle('FOSUserBundle'), это вообще не работает:/И я смог войти в систему и зарегистрировать новый профиль, прежде чем я просто не могу удалить поля...   -  person jpp28    schedule 28.06.2017
comment
И чтобы добавить, я использую основную версию UserBundle, и если вы посмотрите на часть установки, вам не нужно ставить SonataUserBundle («FOSUserBundle»), согласно им   -  person jpp28    schedule 28.06.2017
comment
В настоящее время я работаю под Symfony 3.3, поэтому не думаю, что смогу обновиться до версии 3.19, верно? Должен ли я переделать свой проект с более старой версией symfony? Если да, то какой?   -  person jpp28    schedule 28.06.2017
comment
Пакет Fosuser с Sonata UserBundle несовместим с Symfony 3 (совместим только с основной версией Sonata UserBundle)   -  person jpp28    schedule 28.06.2017
comment
@Doug Я пытался вернуться с более старой версией Sonata. Я попробовал Sonata 3.2, и она тоже не работает... :/ Есть идеи?   -  person jpp28    schedule 28.06.2017
comment
Уже проверил 100 раз, иначе я бы не позволил себе разместить этот вопрос здесь, я вернулся к sonata-project/admin-bundle: 3.19, и sonata-project/user-bundle: ^3.2, и symfony/symfony: 2.8. *, чтобы иметь возможность использовать версию userBundle, отличную от основной. Но все та же ошибка :/   -  person jpp28    schedule 28.06.2017
comment
Без понятия, тогда извините. Все, что я вижу, это то, что в документах они используют Sonata\UserBundle\Admin\Entity\UserAdmin для раздела admin, а раздел класса до раздела администратора использует Application\Sonata \UserBundle\Entity\User, как вы можете видеть здесь: sonata-project.org/bundles/user/3-x/doc/reference/   -  person Doug    schedule 28.06.2017
comment
@Doug Не заморачивайся, обойдусь без UserBundle, ручкой сделаю. Но большое спасибо за вашу помощь. это было очень мило с твоей стороны   -  person jpp28    schedule 28.06.2017


Ответы (2)


Мое единственное предложение было бы, где у вас есть:

sonata_user:    
    security_acl: true
    manager_type: orm
    admin:
        user:
            class:          Application\Sonata\UserBundle\Admin\UserAdmin
            controller:     SonataAdminBundle:CRUD

Попробуйте следующее:

sonata_user:
    security_acl:           true

    manager_type: orm
    class:                  # Entity Classes
        user:               Application\Sonata\UserBundle\Entity\User
        group:              Application\Sonata\UserBundle\Entity\Group

    admin:                  # Admin Classes
        user:
            class:          Sonata\UserBundle\Admin\Entity\UserAdmin
            controller:     SonataAdminBundle:CRUD
            translation:    SonataUserBundle

Как описано в официальной документации.

person Doug    schedule 28.06.2017
comment
Нет :/. Я просто буду использовать свои собственные средства безопасности, большое спасибо за ваше время! - person jpp28; 28.06.2017
comment
Постараюсь поднять этот вопрос перед сотрудниками Сонаты, может это баг. Увидим - person jpp28; 28.06.2017

Я думаю, что нашел решение этой проблемы для основной версии, вы можете перейти в Vendor/sonata-project/user-bundle/Admin/Model/UserAdmin и напрямую изменить файл, поэтому вам не нужно использовать решение, рекомендованное в документация. Я надеюсь, что это поможет некоторым людям.

person jpp28    schedule 29.06.2017