0

Application\Sonata\UserBundle\Admin\Model\UserAdminAdmin を作成して拡張し、表示したくないいくつかのフィールドをコメントアウトして、Sonata UserAdmin を拡張しました。

config.yml の sonata_user から:

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

表示されるフォームのテンプレートはどこにあり、/admin/sonata/user/user/{id}/editそれを上書きするために必要な手順は何ですか?

4

2 に答える 2

0

フォームのテンプレートは vendor/Sonata/...Resources/views にあります

これらのテンプレートをオーバーライドするには、2 つの方法があります。最も簡単な方法は、個々のテンプレートを で作成してオーバーライドすることapp/Resources/PATH/view.html.twigです。PATH => ベンダーで上書きするビューにアクセスするためのパス。再作成する必要があります。と言いview.html.twigましたが、別の名前でもかまいません。同じである必要があります。

UserAdmin エンティティで行ったのと同じ方法ですが、リソースで行います。

もう 1 つの方法は、独自のバンドルを作成した場合です。これは、ベンダーのバンドルの息子になります。

詳細については、FOSUserBundle のドキュメントを参照して、親バンドルからオーバーライドする方法を確認してください。これを確認してください: https://github.com/FriendsOfSymfony/FOSUserBundle/blob/master/Resources/doc/overriding_templates.md フォームとコントローラーをオーバーライドする方法に関するドキュメントもあります。

幸運を !

于 2014-05-06T13:28:20.157 に答える