FosUserbundle and symfony 2 template and edits

白昼怎懂夜的黑 提交于 2019-12-01 01:57:26

Answers on your questions you can find inside documentation. Here are some points:

  1. Copy templates you want to modify from FOSUserBundle/Resources/views into your bundle and do changes you want.
  2. If you need to make a custom profile form (as I guess based on your question), then you have to create profile form type and specify that FOSUserBundle uses it.

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')
        ;
    }
}

@Anton has the correct answer for the first part of your question but to answer the second part, if you can view your profile from /profile you can edit by going to /profile/edit in your browser.

There is no edit link on the default profile form. If you want one, you'll need to take the advice of @Anton and copy the default form template(s) and paste them into a directory with the same name in your bundle.

As @Anton already pointed out, all of the details on how to do this are in either the master documentation or the documentation for version 1.2.0 (which you will need if you are using Symfony 2.0.*

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!