Bonjour,

J'avais deux champs: choice pour l'année et input pour les articles.
Quand l'utilisateur n'écrit pas aucun choix dans le champs input il doit avoir tous ALL les articles de l'année choisi.
J'ai changé le champs input par un checkbox à choix multiple, après ses modification le ALL il ne l'ajoute pas avec les choix.

Mon ancien code est:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
->add('lru', 'text', array(
   'data' => '',
   'required' => FALSE))
Mon nouveau code:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 ->add('lru', 'choice', array(
 'choices' => array(
'\'ATSU\'' => 'ATSU',
 .
 .
 .
 ),
'required' => FALSE,
'empty_value' => 'ALL',
'empty_data' => NULL,
'multiple' => TRUE
J'ai cherché sur Internet j'ai trouvé que l'option 'empty_value' ça fonctionne uniquement que lorsque les deux expanded et multiple sont mis à FALSE.
Mes librairies sont:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\Session\Session;
Est-ce-que je dois ajouter des librairies pour que je laisse le multiple à TRUE et je garde l'option de choix multiple.
J'ai cherché sur internet j'ai trouvé que je dois passer un default object ou array to form builder, et voilà le lien:
https://symfony.com/doc/current/comp...default-values
Mais je ne comprends pas comment je peux l'ajouter, schant que mon form est (juste un récap.):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
$user = $app['security']->getToken()->getUser();
 
        $form = $app['form.factory']->createBuilder('form')->setMethod('GET')
                ->add('currency', 'choice', array(
                    'choices' => array(
                        'USD' => 'Dollar',
                        'EUR' => 'Euro'),
                ))
                ->add('nature', 'choice', array(
                    'choices' => array( .....),
 
                ->add('year', 'choice', array(
                    'choices' => array(date('Y') => date('Y'),
                        date('Y') - 1 => date('Y') - 1,
                        date('Y') - 2 => date('Y') - 2,
                        date('Y') - 3 => date('Y') - 3,
                        date('Y') - 4 => date('Y') - 4,
                        'Yearly' => 'Yearly'),
                    'required' => TRUE,
                ))
                  ->add('lru', 'choice', array(
                    'choices' => array(
 
                      // I want add the default value ALL here but I don't understand how
 
 
                    '\'ATSU\'' => 'ATSU', .... )
 
 
                    'required' => FALSE,
                    'empty_value' => 'ALL',  
                    'empty_data' => NULL,
                    'multiple' => TRUE
                      ))
J'espère que j'étais claire dans mon explication, et j'espère que je trouve la solution comment j'ajoute ALL avec mes choix et je garde l'option de choix multiple pour mon utilisateur.
Merci