1

私はsymfony2を初めて使用します。基本的なFOSuserbundleをセットアップしたばかりです。しかし、私にはいくつかの問題があります。

  1. 新しいレイアウトテンプレートを設定しましたが、ログイン、登録、プロファイル用のフォームテンプレートを変更する場所が見つかりませんでした

  2. ユーザープロファイルを編集する方法が見つかりませんでした。/ profileを使用してプロファイルを表示できますが、編集リンクが見つかりませんでした

4

2 に答える 2

3

ドキュメント内にある質問への回答。ここにいくつかのポイントがあります:

  1. 変更するテンプレートをFOSUserBundle/Resources/viewsバンドルにコピーし、必要な変更を加えます。
  2. カスタムプロファイルフォームを作成する必要がある場合(質問に基づいて推測します)、プロファイルフォームタイプを作成し、FOSUserBundleがそれを使用するように指定する必要があります。

config.yml

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

ProfileFormType.php

<?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')
        ;
    }
}
于 2012-01-12T08:05:17.790 に答える
2

@Antonは、質問の最初の部分に対して正しい答えを持っていますが、2番目の部分に答えるために、プロファイルを表示できる場合は、ブラウザでに移動し/profileて編集できます。/profile/edit

デフォルトのプロファイルフォームには編集リンクはありません。必要な場合は、@ Antonのアドバイスを受けて、デフォルトのフォームテンプレートをコピーし、バンドル内の同じ名前のディレクトリに貼り付ける必要があります。

@Antonがすでに指摘しているように、これを行う方法の詳細はすべて、マスタードキュメントまたはバージョン1.2.0のドキュメント(Symfony2.0を使用している場合に必要になります。*)にあります。

于 2012-06-20T19:44:25.723 に答える