Администратор Sonata перезаписал пользовательский класс

Я расширил SonataUserBundle с помощью SonataEasyExtendsBundle и удалил некоторые поля. Таблица базы данных создана правильно. Проблема возникает при попытке добавить пользователя в интерфейсе администратора (с помощью SonataAdminBundle). Я получаю:

Определите тип поля phone в Sonata\UserBundle\Admin\Entity\UserAdmin

Это приводит меня к выводу, что Admin Bundle не использует мой собственный класс и использует класс по умолчанию.

Мой config.yml:

sonata_user:
    security_acl:     false
    manager_type:     orm
    class:
        user:         Application\Sonata\UserBundle\Entity\User
        group:        Application\Sonata\UserBundle\Entity\Group

Мое приложение \ Sonata \ UserBundle \ Resources \ services.xml

<service id="sonata.user.admin.user" class="Application\Sonata\UserBundle\Admin\Entity\UserAdmin">
    <tag name="sonata.admin" manager_type="orm" group="%sonata.user.admin.groupname%" label="users" label_catalogue="SonataUserBundle" label_translator_strategy="sonata.admin.label.strategy.underscore" />
    <argument />
    <argument>Application\Sonata\UserBundle\Entity\User</argument>
    <argument>SonataAdminBundle:CRUD</argument>
    <call method="setUserManager">
        <argument type="service" id="fos_user.user_manager" />
    </call>
    <call method="setTranslationDomain">
        <argument>%sonata.user.admin.user.translation_domain%</argument>
    </call>
</service>

Вопрос в том, как мне зарегистрировать свой пользовательский класс в Sonata Admin и в конечном итоге отменить регистрацию класса по умолчанию?


person Ionut    schedule 30.03.2013    source источник
comment
Теперь это решено. С моей стороны это была глупая ошибка. Я не поместил правильный импорт ресурсов в файл конфигурации.   -  person Ionut    schedule 31.03.2013
comment
Можете ли вы опубликовать решение и отметить его как принятое, чтобы другие люди, у которых возникла такая же проблема, могли увидеть решение, пожалуйста!   -  person Etienne Noël    schedule 10.04.2014


Ответы (1)


Я решил это, добавив правильный импорт в файл /app/config/config.yml.

#/app/config/config.yml
imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: '@ApplicationSonataUserBundle/Resources/config/services.xml' }

Новый класс был определен в файле служб, опубликованном выше, и не был выбран автоматически.

person Ionut    schedule 13.04.2014