私は Symfony2 をまったく初めて使用しますが、このフレームワークにはすでに夢中になっています。
3 つの異なるユーザー タイプが必要なプロジェクトがあります。
1 人はスーパー管理者、他の 2 人は通常のユーザーですが、プロファイル レイアウトは異なります。プロファイルのレイアウトが異なるということは、これら 2 つのユーザー タイプの登録フォームが、登録後のアプリケーションで異なるフォーム フィールドと異なるレイアウトを持つ必要があることを意味します。
登録後にユーザーを管理する方法については、(後でそれでよいかどうかはわかりませんが)わかったと思います。しかし今のところ、FOSUserBundle から拡張される 2 つの異なる登録フォームを作成する方法がわかりません。
私が理解している限り、FOSUB の構成には、登録が設定されているポイントが 1 つしかなく、複数の「登録:」を持つことはできません。
config.yml には次のものがあります。
fos_user:
db_driver: orm
firewall_name: main
user_class: Company\UserBundle\Entity\User
registration:
confirmation: { enabled: true }
security.yml:
security:
encoders:
FOS\UserBundle\Model\UserInterface: sha512
main:
pattern: ^/
form_login:
provider: fos_userbundle
csrf_provider: form.csrf_provider
logout: true
anonymous: true
私の考えは、FOSUB を拡張する 3 つの異なるバンドルを作成することですが、ドキュメントによると、FOSUB を親として宣言できるのは 1 つのバンドルだけです。
別のオプション (ドキュメントから) は、すべての元のメソッドを実装する ContainerAware を拡張することです。しかし、この場合でも、app/config/{config|security|routing}.yml をどのように構成して、FOSUB とカスタム フォームを使用する /register_employee や /register_manager リンクを作成する必要があるかわかりません。
正しい方向に向けてください。ありがとう。