Question

I am new to symfony 2. I have just setup with basic FOSuserbundle. But I have a few problems:

  1. I have setup the new layout template but I could not find where to change the form template for login, registration, profile

  2. I could not find how to edit the user profile. I can view the profile using /profile but I could not find any edit link there

Was it helpful?

Solution

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

OTHER TIPS

@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.*

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top