Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 08-03-2010 16:55:13

ashgenesis
Membre
Date d'inscription: 26-11-2007
Messages: 12

[Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

Bonjour,

pour commencer un bout de code :

Code:

$etat  = new Zend_Form_Element_Radio('etat');
$etat->setMultiOptions(array('A', 'B', 'C'))
     ->setRequired(TRUE);

Comment faire pour ajouter une classe à chaque label d'un élément input généré par Zend_Form_Element_Radio

Je souhaiterais avoir un rendu du genre

Code:

<input type="radio" value="" name="etat" id="1"/>
<label for="1" class="c3">A</label><br />
<input type="radio" value="" name="etat" id="2"/>
<label for="2" class="c2">B</label><br />
<input type="radio" value="" name="etat" id="3"/>
<label for="3" class="c1">3</label>

Je n'ai malheureusement rien trouvé sur google expliquant la chose.

Merci

Dernière modification par ashgenesis (11-03-2010 16:33:04)

Hors ligne

 

#2 09-03-2010 08:21:16

Grummfy
Membre
Lieu: Belgique
Date d'inscription: 01-08-2007
Messages: 232
Site web

Re: [Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

Hello,
regarde du côté des décorateurs


Engagez-moi! : Cherche job en Belgique autour de Namur (1 heure de route autour)
blog - ZF Planet

Hors ligne

 

#3 09-03-2010 09:09:50

iop974
Membre
Date d'inscription: 27-02-2009
Messages: 72

Re: [Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

faut utiliser les décorateur

Code:

$decorators = array('Label', array('tag' => 'th', 'class'=>'MA CLASSE'));

En gros

Hors ligne

 

#4 09-03-2010 09:20:37

ashgenesis
Membre
Date d'inscription: 26-11-2007
Messages: 12

Re: [Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

Merci pour vos suggestions mais visiblement c'est un peu plus compliqué que cela à moins que je ne me trompe.

En fait il faut une classe différente pour chaque label d'un élément du Zend_Form_Element_Radio. Ce ne sera pas la même classe qui sera répétée pour les différents éléments sans cela un simple décorateur aurait suffit.

Je continue mes recherches. Merci encore pour votre aide.

Hors ligne

 

#5 09-03-2010 09:26:03

iop974
Membre
Date d'inscription: 27-02-2009
Messages: 72

Re: [Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

Pour chaque element Zend_Form_Element_Radio que tu creer tu lui donne un décorateur avec une classe.

Code:

$radio1 = new Zend_Form_Element_Radio('radio1');
$radio1->setDecorators(array ........

$radi2 = new Zend_Form_Element_Radio('radio2');
$radio2->setDecorators(array ........

Pour chaque élément faut redéfinir le décorateur ;Espérant cela puisse t'aider

Hors ligne

 

#6 09-03-2010 09:34:47

ashgenesis
Membre
Date d'inscription: 26-11-2007
Messages: 12

Re: [Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

Oui mais je n'ai qu'un seul élément radio contenant plusieurs informations sinon comme je l'ai mis se serait plus simple.

La solution proposée serait donc de créer autant d'élément radio que j'ai d'option pour ses éléments ?

Hors ligne

 

#7 09-03-2010 09:52:35

iop974
Membre
Date d'inscription: 27-02-2009
Messages: 72

Re: [Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

Ah ok
Ben la comme ça je vois pas.

Sinon les autres moyens que je connais mais on retombe dans le même problème
ya le setAttribs('class', 'maclasse')

ou
$radio->getDecorator('Label')->setOption('class', 'maclass');

Mais la je sais pas comment récup un label précis

Hors ligne

 

#8 11-03-2010 16:31:49

ashgenesis
Membre
Date d'inscription: 26-11-2007
Messages: 12

Re: [Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

J'ai réussi ce que je souhaitais faire, bon la façon n'est peut-être pas optimale mais elle a le mérite de fonctionner. En fait, je surcharge le Zend_View_Helper_FormRadio par le mien et je lui fais faire ce que je veux.

Je précise dans mon formulaire que cet élément radio utilisera cet helper.

$etat->helper = 'MyHelper';

Il y avait la possibilité aussi d'utiliser les viewscripts mais malheureusement son utilisation invalidait mon formulaire.

Hors ligne

 

#9 06-10-2011 17:18:42

manuzed78
Membre
Date d'inscription: 13-12-2009
Messages: 86
Site web

Re: [Résolu][Zend_Form]Ajout classe différente aux labels d'un input Radio

ashgenesis a écrit:

J'ai réussi ce que je souhaitais faire, bon la façon n'est peut-être pas optimale mais elle a le mérite de fonctionner. En fait, je surcharge le Zend_View_Helper_FormRadio par le mien et je lui fais faire ce que je veux.

Je précise dans mon formulaire que cet élément radio utilisera cet helper.

$etat->helper = 'MyHelper';

Il y avait la possibilité aussi d'utiliser les viewscripts mais malheureusement son utilisation invalidait mon formulaire.

Tu peux m'aider en donnant ton code stp ?
car je ne comprends pas variment big_smile

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