3

SonataEasyExtendsBundle を使用して SonataUserBundle を拡張し、いくつかのフィールドを削除しました。データベース テーブルが正しく作成されます。問題は、管理者インターフェースで (SonataAdminBundle を使用して) ユーザーを追加しようとするときです。私は得ています:

phoneのフィールドのタイプを定義してくださいSonata\UserBundle\Admin\Entity\UserAdmin

これにより、管理バンドルがカスタム クラスを取得しておらず、デフォルトのクラスを使用しているという結論に至りました。

私の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\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 に登録し、最終的にデフォルト クラスの登録を解除する方法です。

4

1 に答える 1