Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 16-01-2010 17:08:47

cyberface
Nouveau membre
Date d'inscription: 26-12-2009
Messages: 5

[1.9.6][Zend_Form] Aide pour décorer Zend_Form_Element_MultiCheckbox

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. hmm

je cherche à faire ceci :

Code:

<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

Code:

<?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

Code:

        
        $this->setDecorators(array(
            'FormElements',
            array('HtmlTag', array('tag' => 'table', 'class'=>'tableau')),
            'Form',
        ));

A partir de là, je tourne en rond sad Est ce que quelqu'un pourrait me donner une piste à suivre svp?

Merci d'avance et toutes aides sont les bienvenues big_smile

Dernière modification par cyberface (16-01-2010 23:56:58)

Hors ligne

 

#2 17-01-2010 22:34:53

Willmore
Membre
Lieu: Savigny Le Temple
Date d'inscription: 25-05-2009
Messages: 31

Re: [1.9.6][Zend_Form] Aide pour décorer Zend_Form_Element_MultiCheckbox

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 :

Code:

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


Amicalement,

Will

Hors ligne

 

#3 24-01-2010 22:37:04

cyberface
Nouveau membre
Date d'inscription: 26-12-2009
Messages: 5

Re: [1.9.6][Zend_Form] Aide pour décorer Zend_Form_Element_MultiCheckbox

Merci pour le lien, je vais aller voir ton lien! Merci

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages