Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
pour commencer un bout de 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
<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
Hello,
regarde du côté des décorateurs
Hors ligne
faut utiliser les décorateur
$decorators = array('Label', array('tag' => 'th', 'class'=>'MA CLASSE'));
En gros
Hors ligne
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
Pour chaque element Zend_Form_Element_Radio que tu creer tu lui donne un décorateur avec une classe.
$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
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
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
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
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
Hors ligne
Pages: 1