Bonjour.

Je continue ma progression dans l'apprentissage du ZF.

Voici un formulaire de saisie réalisé à partir du tuto "Débuter avec Zend-Framework" :
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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
class FormulaireDysfonctionnement extends Zend_Form
{
    public function __construct($options = null)
    {
        parent::__construct($options);
        $this->setName('form_dysfct');
 
        $id = new Zend_Form_Element_Hidden('id');
 
        $date_emission = new Zend_Form_Element_Text('date_emission');
        $date_emission    ->setLabel("Date d'émission")
                        ->setRequired(true)
                        ->addFilter('StripTags')
                        ->addFilter('StringTrim')
                        ->addValidator('NotEmpty');
 
        $redacteur = new Zend_Form_Element_Text('redacteur');
        $redacteur        ->setLabel('Rédacteur')
                        ->setRequired(true)
                        ->addFilter('StripTags')
                        ->addFilter('StringTrim')
                        ->addValidator('NotEmpty');
 
        $service = new Zend_Form_Element_Text('service');
        $service    ->setLabel('Service')
                    ->setRequired(true)
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim')
                    ->addValidator('NotEmpty');
 
        $titre = new Zend_Form_Element_Text('titre');
        $titre    ->setLabel('Titre')
                ->setRequired(true)
                ->addFilter('StripTags')
                ->addFilter('StringTrim')
                ->addValidator('NotEmpty');
 
        $description = new Zend_Form_Element_Text('description');
        $description    ->setLabel('Description')
                        ->setRequired(true)
                        ->addFilter('StripTags')
                        ->addFilter('StringTrim')
                        ->addValidator('NotEmpty');
 
        $services_impliques = new Zend_Form_Element_Text('services_impliques');
        $services_impliques    ->setLabel('Services impliqués')
                            ->setRequired(true)
                            ->addFilter('StripTags')
                            ->addFilter('StringTrim')
                            ->addValidator('NotEmpty');
 
        $dest_reponse = new Zend_Form_Element_Text('dest_reponse');
        $dest_reponse    ->setLabel('Destinataires pour réponse')
                        ->setRequired(true)
                        ->addFilter('StripTags')
                        ->addFilter('StringTrim')
                        ->addValidator('NotEmpty');
 
        $dest_info = new Zend_Form_Element_Text('dest_info');
        $dest_info    ->setLabel('Destinataires pour information')
                    ->setRequired(true)
                    ->addFilter('StripTags')
                    ->addFilter('StringTrim')
                    ->addValidator('NotEmpty');
 
        $causes = new Zend_Form_Element_Text('causes');
        $causes    ->setLabel('Analyse des causes')
                ->setRequired(true)
                ->addFilter('StripTags')
                ->addFilter('StringTrim')
                ->addValidator('NotEmpty');
 
        $action = new Zend_Form_Element_Text('action');
        $action    ->setLabel('Action')
                ->setRequired(true)
                ->addFilter('StripTags')
                ->addFilter('StringTrim')
                ->addValidator('NotEmpty');
 
        $submit = new Zend_Form_Element_Submit('submit');
        $submit->setAttrib('id', 'submitbutton');
 
        $this->addElements(array($id, 
                                $date_emission, 
                                $redacteur, 
                                $service,
                                $titre,
                                $description,
                                $services_impliques,
                                $dest_reponse,
                                $dest_info,
                                $causes,
                                $action,
                                $submit)
                            );
    }
}
Le formulaire ci-dessus me pose deux problèmes :
1) Les lettres accetuées s'affichent mal.
Mon layout affiche pourtant ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
J'utilise Eclipse pour coder et il est configuré pour enregistrer en UTF-8.

2) Les champs de saisie s'affichent en escalier.
C'est probablement dû aux labels longs.
Le label "Date d'émission" s'affiche sur deux lignes. La zone de saisie de la date d'émission s'affiche à la suite de la première ligne.
Le label "Rédacteur" s'affiche à la suite de la deuxième ligne du label précédent.
Et ainsi de suite à chaque fois qu'il y a un label sur deux lignes.

Comment mettre en forme tout ça correctement ?
D'autant plus qu'évidemment c'est brut de fonderie et qu'il faudra que ce soit un peu plus joli que ça !

PS :
C'est assez urgent ! Il faudrait que je présente une première maquette de ce formulaire cet après-midi !