salut à tous,
J'ai 2 petits soucis avec les decorators pour Zend_Form_Element_File et Zend_Form_Element_Submit :
- Pour Zend_Form_Element_File, je n'arrive pas à mettre de décorateurs, j'ai essayé plusieurs choses :
Si je met le decorateur "$decorators", j'ai un message d'erreur :
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 // Décorateurs : $decorators = array ( 'ViewHelper', 'Errors', array('Description', array('tag' => 'p', 'class' => 'description')), array('HtmlTag', array('tag' => 'td')), array('Label', array('tag' => 'th')), array(array('tr' => 'HtmlTag'), array('tag' => 'tr')) ); $formDecorators = array( 'FormElements', array('HtmlTag', array('tag' => 'table','class'=>'form-table')), 'Form', array('File', array('tag' => 'table','class'=>'form-table')) ); ////////////////////////////////////////////////////////////////////// $file_one = new Zend_Form_Element_File('fileupload_1'); $file_one->setLabel('Fichier image #1 : ') ->addValidator('Count', false, 1) ->addValidator('Extension', false, $extensions) ->addValidator('FilesSize', false, $maxFileSize); //->setDecorators($decorators); //->setDecorators($formDecorators); $file_one->getValidator('Extension')->setMessage('Extensions valides : .jpg, .jpeg, .gif et .png'); $file_one->getValidator('FilesSize')->setMessage('La taille du fichier est trop importante'); ... ... $this->setDecorators($formDecorators);Il ne trouve pas le décorateur File, ce qui semble normal.
Code : Sélectionner tout - Visualiser dans une fenêtre à part Warning: Exception caught by form: No file decorator found... unable to render file element Stack Trace:
Mais comment le rajouter ? J'ai donc testé avec le décorateur $formDecorators qui ne semble pas marcher non plus (il me le sort du formulaire <form>)
- Ensuite, comment virer le label du Zend_Form_Element_Submit ?
So je fais ceci :il m'enleve aussi le th, et evidemment, le design est cassé.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel('Valider') ->setDecorators($decorators); $submit->removeDecorator('Label');
Si je met le SetLabel à '', cela me vire le Label, mais aussi le texte du bouton (fait en CSS), et le setValue ne marche pas :Merci à tous
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $submit = new Zend_Form_Element_Submit('submit'); $submit->setLabel('') ->setValue('Valider') ->setDecorators($decorators);
Fabrice
Partager