2013-03-30 4 views
3

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

Пожалуйста, определите тип для поля phone в Sonata\UserBundle\Admin\Entity\UserAdmin

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

Мой config.yml:

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

My Application \ соната \ 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 администратора и, в конечном счете, не зарегистрировать класс по умолчанию?

+1

Это решение. Это была глупая ошибка с моей стороны. Я не задал правильный импорт ресурсов в файле конфигурации. –

+0

Можете ли вы опубликовать решение и пометить его как принятое, чтобы другие, у которых такая же проблема, могли увидеть решение, пожалуйста! – CoachNono

ответ

3

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

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

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