src/Form/Type/ContactType.php line 15
<?php
namespace App\Form\Type;
use App\Entity\Contact;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\Extension\Core\Type\EmailType;
use Symfony\Component\Form\Extension\Core\Type\FileType;
use Symfony\Component\Form\Extension\Core\Type\SubmitType;
use Symfony\Component\Form\Extension\Core\Type\TextareaType;
use Symfony\Component\Form\Extension\Core\Type\TextType;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Symfony\Component\Form\Extension\Core\Type\HiddenType;
use FOS\CKEditorBundle\Form\Type\CKEditorType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Gregwar\CaptchaBundle\Type\CaptchaType;
use Symfony\UX\Dropzone\Form\DropzoneType;
class ContactType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
#invalid-feedback d-block
$builder
->add('pseudo', TextType::class, [
'label' => 'Pseudo'
])
->add('title', TextType::class, [
'label' => 'Titre du message'
])
->add('emailFrom', EmailType::class, [
'label' => 'Email afin de vous répondre'
])
->add('contribution', ChoiceType::class, [
'multiple' => false,
'expanded' => true,
'label' => false,
'choices' => [
'J’ai une question - je souhaite vous contacter' => false,
'Je souhaite contribuer ou proposer du contenu' => true
],
'data' => false,
])
->add('content', HiddenType::class)
->add('contentContact', TextareaType::class, [
'attr' => ['rows' => '8'],
'label' => 'Contenu de votre message',
'mapped' => false,
'required' => false
])
->add('type', ChoiceType::class, [
'label' => 'Catégorie de la contribution',
'choices' => [
'Info' => 'info',
'Tuto' => 'tuto',
'Jurisprudence' => 'jurisprudence',
'Autre' => 'autre',
],
'help' => 'Si tu ne sais pas dans quoi ranger ta contribution, pas de soucis, on s’en chargera !'
])
->add('contentContribution', CKEditorType::class, [
'label' => 'Contenu de votre contribution',
'mapped' => false
])
->add('pdfFile', DropzoneType::class, [
'label' => 'Joindre un document',
'required' => false,
#'allow_delete' => false,
#'download_uri' => false,
'attr' => [
'data-controller' => 'symfony--ux-dropzone--dropzone',
],
])
->add('captcha', CaptchaType::class)
->add('Envoyer', SubmitType::class)
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Contact::class,
]);
}
}