Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 14-08-2009 11:23:35

Patanock
Nouveau membre
Date d'inscription: 12-08-2009
Messages: 7

Sortir la description, dans un Form

Bonjour,

Je rencontre aujourd'hui un nouveau problème.
J'aimerais par le moyen le plus simple possible, faire en sorte que la balise <p class="description">...</p> de mes champs ne soit pas dans la balise <dd> mais juste après.

Je souhaite l'utiliser pour afficher une aide à la saisi juste à droite de chaque champs. Parcontre j'aimerais que toutes mes aides soient alignées verticalement. Or, comme mes champs ont une taille variable, ces aides ne sont pas alignées. En la sortant, je pourrais donner une taille fixe à mon <dd> et ainsi tout serait nikel.

Voici le code généré :

<dt id="last_name-label"><label for="last_name" class="required">Nom de famille <em>*</em></label></dt>
<dd id="last_name-element">
<input type="text" name="last_name" id="last_name" value="" class="required" maxlength="40" />
<p class="description">Saisir 40 caractères maximum</p>
</dd>


Peut-être qu'un autre moyen plus simple est d'entourer l'input d'une balise supplémentaire, à laquelle je pourrais donner une taille fixe pour tous mes champs (exemple : label) ?

Oui mais comment faire, sans pour autant m'écrire un décorator complexe ?

Merci d'avance

Hors ligne

 

#2 14-08-2009 15:26:55

Phil
Membre
Lieu: Lyon
Date d'inscription: 10-10-2008
Messages: 58

Re: Sortir la description, dans un Form

Yop smile,
moi j'ai créer un décorateur .. ^^ et ca marche bien big_smile

Code:

Class MyLib_Form extends Zend_Form
{
    
    
    public static $elementDecorators = array(
        'ViewHelper',
        'Errors',
        array('Description', array('tag' => 'span',
                                     'class' => 'elementDescription')),
        array(array('data' => 'HtmlTag'), array('tag' => 'span',
                                                    'class' => 'elementInput')),
        array('Label', array('tag' => 'span', 'class' => 'elementLabel')),
        array(array('row' => 'HtmlTag'), array('tag' => 'span', 
                                                'class' => 'elementForm')),
    );
}

après t'a plus qu'à appliquer ce décorateur à ton élément wink
en appelant le tableau de decorateur :

Code:

 $nom = new Zend_Form_Element_Text('nom');
        $nom->setLabel('Nom :')
        ->setDecorators(MyLib_Form::$elementDecorators);

Et le tour est joué  smile

@++

Phil

Dernière modification par Phil (14-08-2009 15:29:14)

Hors ligne

 

#3 14-08-2009 16:22:38

Patanock
Nouveau membre
Date d'inscription: 12-08-2009
Messages: 7

Re: Sortir la description, dans un Form

Tu peux me montrer le code que ca te génère au final s'il te plait ?

Hors ligne

 

#4 14-08-2009 16:27:27

Phil
Membre
Lieu: Lyon
Date d'inscription: 10-10-2008
Messages: 58

Re: Sortir la description, dans un Form

Code:

<span class="elementForm"><span id="nom-label"><label for="nom" class="elementLabel optional">Nom :</label></span>
<span class="elementInput">
<input type="text" name="nom" id="nom" value="2"></span></span>

Voilà 'msieur wink

Dernière modification par Phil (14-08-2009 16:29:09)

Hors ligne

 

#5 14-08-2009 16:47:56

Patanock
Nouveau membre
Date d'inscription: 12-08-2009
Messages: 7

Re: Sortir la description, dans un Form

T'as pris pile un exemple sans description. Avec une description, ca donnerait quoi ? big_smile

Hors ligne

 

#6 09-09-2009 15:11:09

Patanock
Nouveau membre
Date d'inscription: 12-08-2009
Messages: 7

Re: Sortir la description, dans un Form

Up (j'étais en vacances :p), dans ton exemple pas de description. Avec une description, ça te donnerait quoi ?

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