Symfony button Submit / не отправляются данные

echolog

Новичок
Форма выводится, но кнопка Submit не отправляет данные, в чём может быть проблема?

PHP:
// /src/L/TestBundle/Form/LoginFormType.php
namespace L\TestBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class LoginFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('login', 'text', array('required' => false), array('attr' => array('id' => 'textBox', 'class' => 'test')));
        $builder->add('password', 'password');
        $builder->add('save','submit');
        #$builder->getForm();
    }

/*    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array(
            'data_class' => 'L\TestBundle\Entity\LoginForm'
        ));
    }
*/
    public function getName()
    {
        return 'LoginFormXXX';
    }
}

Код:
namespace L\TestBundle\Controller;

use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use L\TestBundle\Form;
use L\TestBundle\Entity;

class LoginFormController extends Controller
{
    public function getLoginFormAction(Request $request)
    {
       
        $form = $this->createForm(new Form\LoginFormType, new Entity\LoginForm);
        return $this->render('LTestBundle:Default:new.html.twig', array('form' => $form->createView()));
        $request = $this->getRequest();

    if ($request->getMethod() == 'POST') {
        $form->bindRequest($request);
    if ($form->isValid()) {
            return $this->redirect($this->generateUrl('task_success'));
        }
    }

  }
}
 

hell0w0rd

Продвинутый новичок
да потому что ты хрень какую-то написал.
Возьми IDE которая тебе подсветит, что после 2 строки ничего выполняться НИКОГДА не будет, потому что там return. Копипаст - зло!
 

echolog

Новичок
Это да, переписал, кнопка всё равно не пашет, копи-паст может и зло, но в примерах контроллер сам форму создаёт, вот решил поучиться как сделать отдельно. Избавиться от return, который выводит шаблон, не могу.

PHP:
    public function getLoginFormAction(Request $request)
    {   
        $request = $this->getRequest();
        if ($request->getMethod() == 'POST') {
        $form->bindRequest($request);
        if ($form->isValid()) {
            return $this->redirect($this->generateUrl('task_success'));
          }
        }
        $form = $this->createForm(new Form\LoginFormType, new Entity\LoginForm);
        return $this->render('LTestBundle:Default:new.html.twig', array('form' => $form->createView()));
    }
 

keltanas

marty cats
echolog, тебя в школе не учили, как блок-схемы алгоритмов рисовать? Попробуй, будет полезно в данном случае.
 

hell0w0rd

Продвинутый новичок
Если взялся учить симфони - внимательно читай доки, надо использовать handleRequest.
и прекрати копипастить наконец, вот что у тебя написано в начале контроллера:
function ($a){$a = $this->getA()}
А теперь объясни - что значит кнопка не пашет?
 
Сверху