Задать вопрос
  • FosUserBundle: редактирование профайла в разных формах?

    prudkovski
    @prudkovski Автор вопроса
    Сделал так:

    Создал форму
    // ProfileFormPhoneType.php
    namespace Pet\UserBundle\Form\Type;
    
    use Symfony\Component\Form\AbstractType;
    use Symfony\Component\Form\FormBuilderInterface;
    
    class ProfileFormPhoneType extends AbstractType
    {
        public function buildForm(FormBuilderInterface $builder, array $options)
        {
            $builder->add('phone');
        }
    
        public function getName()
        {
            return 'formPhone';
        }
    
    }


    В show action контроллера

    public function showAction()
    {
    ...
    $formPhone = $this->container->get('form.factory')->create(new ProfileFormPhoneType(), $user); 
    ...
    }


    В контроллере создал отдельный action для обработки
    /**
        * Edit user phone
        */
        public function editPhoneAction()
        {
            $user = $this->container->get('security.context')->getToken()->getUser();
            if (!is_object($user) || !$user instanceof UserInterface) {
                throw new AccessDeniedException('This user does not have access to this section.');
            }
    
            $formPhone = $this->container->get('form.factory')->create(new ProfileFormPhoneType(), $user);         
    
            $request = $this->container->get('request');
            if ($request->getMethod() == 'POST')
            {
                $formPhone->bind($request);
    
                if ($formPhone->isValid())
                {
                    $em = $this->container->get('doctrine')->getEntityManager();
                    $em->persist($user);
                    $em->flush();
                    $this->setFlash('pet_user_success', 'profile.flash.updated');
                    return new RedirectResponse($this->getRedirectionUrl($user));
                }
            }
        }


    Вроде бы работает, ничего криминального не наворотил?
    Ответ написан
    Комментировать
  • Почему Sylius или Symfony2 так долго обрабатывают страницы?

    prudkovski
    @prudkovski
    У меня профайлер показывает что большую часть времени отжирает генерирование шаблонов
    profiler.png

    Установлена стандартная сборка силиуса, на локальной тачке (xampp, win7, ssd и неплохие параметры железа). Этот момент можно как-то поправить, и если да, то как?
    Ответ написан