При попытке отправить мою форму, она не работает. Кнопка вообще ничего не делает. Итак, я попытался сбросить что-то с моим:
if ($form->isValid() && $form->isSubmitted())
И понял, что он даже не входит в оператор if, поэтому я предполагаю, что с моей формой что-то не так. Но я еще не могу понять, что это будет, поэтому я был бы рад, если бы кто-нибудь мог мне помочь!
/**
* @Route("/document/bulkdeactivate", name="documentBundle_document_bulkDeactivate")
* @Template()
*/
public function bulkDeactivateAction(Request $request) {
$em = $this->getDoctrine()->getManager();
$selected_documents = $request->request->all();
$form = $this->createForm(DocumentDeactivationType::class);
$form->handleRequest($request);
if ($form->isValid() && $form->isSubmitted()) {
foreach($selected_documents as $document) {
$documentR = json_decode(json_encode($document), true);
dump($documentR);
for($i=0; $i<count($documentR); $i++){
$doc = $em->getRepository('DocumentBundle:Document')->findOneById($documentR[$i]);
dump($doc);
$doc->setActive(false);
$em->persist($doc);
$em->flush();
}
}
$this->addFlash(
'success',
'The document has been deactivated!'
);
return $this->redirectToRoute('documentBundle_document_list');
}
return $this->render('DocumentBundle:Panels:ActivationPanel.html.twig', array(
'form' => $form->createView(),
));
}
мой тип формы:
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('documentlist', EntityType::class, array(
'class' => 'DocumentBundle:Document',
'choice_label' => 'name',
'required' => false,
'multiple' => true,
'expanded' => false,
'placeholder' => "Select Documents",
'label' => 'label.document_list',
))
->add('submit', SubmitType::class, array(
'label' => 'Submit',
'attr' => array(
'class' => 'btn btn btn-default',
),
));
}
И часть формы моего шаблона ветки:
{% block content %}
{{ form_start(form) }}
{{ form(form.documentlist) }}
{{ form(form.submit) }}
{{ form_end(form) }}
{% endblock content %}
Должны быть какие-то проблемы с формой, у вас есть какой-нибудь совет для меня?
$builder->add [..] ->add('save',Symfony\Component\Form\Extension\Core\Type\SubmitType::class )
Затем удалите свой Submit из шаблона Twig и замените его на{{ form_widget(form.save, { 'attr': {'class': 'btn btn-default'} }) }}
, и это должно сработать. - person NaeiKinDus   schedule 03.10.2017{{ form_rest(form) }}
для целей отладки также может помочь. - person NaeiKinDus   schedule 03.10.2017