私はsymfony2を初めて使用します。基本的なFOSuserbundleをセットアップしたばかりです。しかし、私にはいくつかの問題があります。
新しいレイアウトテンプレートを設定しましたが、ログイン、登録、プロファイル用のフォームテンプレートを変更する場所が見つかりませんでした
ユーザープロファイルを編集する方法が見つかりませんでした。/ profileを使用してプロファイルを表示できますが、編集リンクが見つかりませんでした
私はsymfony2を初めて使用します。基本的なFOSuserbundleをセットアップしたばかりです。しかし、私にはいくつかの問題があります。
新しいレイアウトテンプレートを設定しましたが、ログイン、登録、プロファイル用のフォームテンプレートを変更する場所が見つかりませんでした
ユーザープロファイルを編集する方法が見つかりませんでした。/ profileを使用してプロファイルを表示できますが、編集リンクが見つかりませんでした
ドキュメント内にある質問への回答。ここにいくつかのポイントがあります:
FOSUserBundle/Resources/views
バンドルにコピーし、必要な変更を加えます。services:
my_user.profile.form.type:
class: My\UserBundle\Form\Type\ProfileFormType
arguments: [%fos_user.model.user.class%]
tags:
- { name: form.type, alias: my_user_profile }
fos_user:
profile:
form:
type: my_user_profile
<?php
namespace My\UserBundle\Form\Type;
use Symfony\Component\Form\FormBuilder;
use FOS\UserBundle\Form\Type\ProfileFormType as BaseType;
class ProfileFormType extends BaseType
{
public function getName()
{
return 'my_user_profile';
}
protected function buildUserForm(FormBuilder $builder, array $options)
{
$builder
->add('email', 'email')
->add('firstName')
->add('lastName')
;
}
}
@Antonは、質問の最初の部分に対して正しい答えを持っていますが、2番目の部分に答えるために、プロファイルを表示できる場合は、ブラウザでに移動し/profile
て編集できます。/profile/edit
デフォルトのプロファイルフォームには編集リンクはありません。必要な場合は、@ Antonのアドバイスを受けて、デフォルトのフォームテンプレートをコピーし、バンドル内の同じ名前のディレクトリに貼り付ける必要があります。
@Antonがすでに指摘しているように、これを行う方法の詳細はすべて、マスタードキュメントまたはバージョン1.2.0のドキュメント(Symfony2.0を使用している場合に必要になります。*)にあります。