Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bien le bonjour,
Cela fait plusieurs jours que je tourne en rond sur le net pour essayer de résoudre mon problème et comprendre les décorateurs. ![]()
je cherche à faire ceci :
<form>
<table>
<tr>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox" />label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
</tr>
<tr>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
</tr>
<tr>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
</tr>
<tr>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
</tr>
<tr>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
<td><input type="checkbox"/>label_checkbox</td>
</tr>
<tr>
<td><input type="file"/></td>
</tr>
<tr>
<td><input type="submit" name="envoie" class="file_button" value="upload"/></td>
</tr>
</table>
</form>Je vous met la class de mon formulaire
<?php
class Form_Video_Upload extends Zend_Form {
public function __construct($categoryList) {
parent::__construct($options = null);
$this->setName('Upload_Video');
$this->setAttrib('enctype', 'multipart/form-data');
$category = new Zend_Form_Element_MultiCheckbox('category_video');
$category->setLabel('Select your category')
->addMultiOptions($categoryList)
->addValidator('NotEmpty');
$video = new Zend_Form_Element_File('file_video');
$video->setLabel('File')
->setDestination(APPLICATION_PATH . '/videos/temp')
->setRequired(true);
$submit = new Zend_Form_Element_Submit('submit');
$submit->setLabel('Upload');
$this->addElements(array($category, $video, $submit));
}
}Je suis bien arrivé à mettre un décorateur sur le formulaire, en insérant ceci dans la class du formulaire
$this->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'table', 'class'=>'tableau')),
'Form',
));A partir de là, je tourne en rond
Est ce que quelqu'un pourrait me donner une piste à suivre svp?
Merci d'avance et toutes aides sont les bienvenues ![]()
Dernière modification par cyberface (16-01-2010 23:56:58)
Hors ligne
Hello, maintenant que tu as défini les décorateurs pour ton formulaire, il faut que tu définisses les décorateurs des éléments de ce formulaire.
Par exemple :
class Form_Default extends Zend_Form
{
public function init() {
$email = new Zend_Form_Element_Text('id_email');
$email->setLabel('Email Address :')
->addFilters(array('StripTags', 'StringTrim', 'StringToLower'))
->setRequired(true)
->addValidators(array('notEmpty', 'emailAddress'))
->setDecorators(array(
'ViewHelper',
array('Label', array('class' => 'inputLabel')),
array('Errors', array('class' => 'error')),
array('HtmlTag', array('tag' => 'div', 'class' => 'formItem'))
));
}
}Par contre il me semble que pour le multi-checkbox c'est particulier (il me semble que par défaut toutes les checkbox sont inclus dans entre les balises des labels respectifs qui sont listés les uns derrières les autres : <label for="#opt1"><input type="checkbox"/>label_checkbox#opt1</label>... ).
Si l'anglais n'est pas un soucis, voici un un billet de la Zend Devzone qui m'as beaucoup aidé : http://devzone.zend.com/article/3450
Hors ligne
Merci pour le lien, je vais aller voir ton lien! Merci
Hors ligne
Pages: 1