Шаблон FosUserbundle и Symfony 2 и изменения - PullRequest
1 голос
/ 12 января 2012

Я новичок в Symfony 2. Я только что установил базовый FOSuserbundle. Но у меня есть несколько проблем:

  1. Я настроил новый шаблон макета, но не смог найти, где изменить шаблон формы для входа в систему, регистрации, профиля

  2. Я не мог найти, как редактировать профиль пользователя. Я могу просмотреть профиль с помощью / профиля, но я не смог найти там ссылку для редактирования

Ответы [ 2 ]

3 голосов
/ 12 января 2012

Ответы на ваши вопросы вы можете найти в документации .Вот несколько моментов:

  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')
        ;
    }
}
2 голосов
/ 20 июня 2012

@ У Антона есть правильный ответ для первой части вашего вопроса, но для ответа на вторую часть, если вы можете просмотреть свой профиль из /profile, вы можете изменить его, перейдя в /profile/edit в своем браузере.

В форме профиля по умолчанию отсутствует ссылка для редактирования. Если вы хотите его получить, вам нужно воспользоваться советом @Anton и скопировать шаблоны форм по умолчанию и вставить их в каталог с тем же именем в вашем комплекте.

Как уже отмечал @Anton, все подробности о том, как это сделать, содержатся либо в основной документации , либо в документации для версии 1.2.0 (которая вам понадобится). если вы используете Symfony 2.0. *

...