Sommaire

Création de types de Champs personnaliséschamp personnalisés

Il peut vous arriver d’avoir besoin d’adapter un type de champ existant pour y ajouter des options supplémentaires. Symfony vous offre cette possibilité, grâce à la classe AbstractType. Voici un exemple.

Pour agrémenter l’affichage de la propriété rupture afin de mettre en évidence ce champ (champ de type Checkbox pour l’instant), nous allons créer un nouveau type de champ. Appelons-le MyCheckboxType.

Créez le fichier correspondant dans un sous-dossier de form : src/Form/Type/ MyCheckboxType.php

Tous les types de champ héritent de la classe AbstractTypeAbstractType. Vous pouvez copier-coller un exemple de classe depuis la page : https://symfony.com/doc/current/form/create_custom_field_type.html

Personnalisez le contenu de votre classe MyCheckboxType de cette manière :

<?php 
namespace App\Form\Type; 
 
use Symfony\Component\OptionsResolver\OptionsResolver; 
 
use Symfony\Component\Form\AbstractType; 
use Symfony\Component\Form\Extension\Core\Type\CheckboxType ; 
class MyCheckboxType extends AbstractType 
{ 
 
 
    public function configureOptions(OptionsResolver $resolver) 
    { 
        $resolver->setDefaults(array( 
            ’attr’ => array(’class’=>’cPerso’),  ...