Bonjour à tous, et bonne fêtes. j'ai une petite question. Je voudrait faire apparaître des champs dans un formulaire twigs mais les champs qui ne sont pas afficher dans la condition apparaissent sous le boutons. Par exemple je voudrait faire un formulaire qui est différant si on est enregistrer ou pas mais mais les champs qui doivent pas être afficher apparaissent sous le bouton de validation. Je voudrait savoir l'astuce pour ce problème? Cordialement.
Voici ma vue
<html>
<head></head>
<body>
{{ form_start(form, {'attr': {'novalidate': 'novalidate'}}) }}
{{ form_row(form.adresse) }}
{{ form_row(form.ville) }}
{{ form_row(form.codepostal) }}
<button type="submit" class="btn btn-primary">Créer</button>
{{ form_end(form) }}
</body>
</html>
et voici mon formtype
<?php
namespace App\Form;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
class SocieteType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('adresse')
->add('ville')
->add('codepostal')
->add('siret')
;
}
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
// Configure your form options here
]);
}
}
et voici mon controelur
<?php
// src/Controller/FormController.php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
use App\Form\SocieteType;
use App\Entity\Societe;
class SocieteController extends AbstractController
{
/**
* @Route("/societe")
*/
public function new(Request $request)
{
$societe = new Societe();
$societe->setAdresse('adresse');
$societe->setVille('ville');
$societe->setCodepostal('code postal');
$form = $this->createForm(SocieteType::class, $societe);
$form->handleRequest($request);
if ($form->isSubmitted() && $form->isValid()) {
$em = $this->getDoctrine()->getManager();
$formValues = $request->request->get('societe_form');
$nom = $formValues['nom'] ?? null;
$em->persist($societe);
$em->flush();
}
return $this->render('default/societe.html.twig', array(
'form' => $form->createView(),
));
}
}