私はSymfony 2とFOSUserBundleを使ってアプリケーションを作成しています。自分のUserBundleが正しく設定されています。 My User Entityにはさまざまなカテゴリの属性が多数あります(たとえば、ロケーション設定、個人設定など)。各カテゴリごとに異なるフォームを作成したいので、それぞれの設定カテゴリを別のページに表示できます。複数のプロファイルフォームとFOSUserBundle
カスタムプロファイルフォーム(FOSUserBundleドキュメントにあります)を作成する方法は分かっていますが、既に複数のFormTypeと追加のコントローラを作成していますが、現在のユーザーデータを入力できません。私はservices.ymlするフォームに私はまた私のInnerCharacteristicsを追加することによって、新しい形のサービスを作ってみました
(もちろん、私はそれらを同時にしようとしなかった)次
$user = $this->container->get('security.context')->getToken()->getUser();
// Try 1
$form = $this->createForm(new InnerCharacteristicsType());
// Try 2
$form = $this->createForm(new InnerCharacteristicsType($user));
// Try 3
$form = $this->createForm(new InnerCharacteristicsType(), $user);
// Try 4
$form = $this->createForm(new InnerCharacteristicsType(), array('user' => $user);
return $this->render('AcmeUserBundle:EditProfile:inner.html.twig', array('form' => $form->createView()));
を試してみました私はこれに関する文書を見つけることができませんでした。 FOSUserBundle自体のprofile.xmlも、パラメータが指している場所を見つけることができなかったのであまり役に立ちません。また、XMLからYAMLへの変換は非常に簡単ではありません。なぜなら、FOSUserBundleの設定はXMLで、UserBundleの設定はYAMLであるためです。
これは私が今私のservices.ymlに持っているものです。
acme_user.inner_characteristics_profile.form:
class: Symfony\Component\Form\Form
factory_service: form.factory
factory_method: createNamed
私は誰かがどこ次に行き、私にいくつかのポインタを与えることができることを望みます。