Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Est-ce quelqu'un a réussi à modifier, voire supprimer, les decorators d'un formulaire contenu dans un fichier ini ???
Voilà ce que j'ai :
rsp.action = "/response/repondre" rsp.method = "post" ; radio element rsp.elements.radio1.type = "radio" rsp.elements.radio1.options.label = "1" rsp.elements.radio1.options.multioptions.1 = "oui" rsp.elements.radio1.options.multioptions.2 = "non" rsp.elements.radio1.options.class = "text"
ce qui me donne:
--------------------------------------- | o oui | | o non | ---------------------------------------
voilà ce que je voudrais avoir :
--------------------------------------- | oui non | | o o | ---------------------------------------
j'ai trouvé ca sur Internet mais ca ne fonctionne pas... ou alors je l'utilise mal :
form.elementDecorators.element.decorator = "ViewHelper" form.elementDecorators.errors.decorator = "Errors" form.elementDecorators.dd.decorator = "HtmlTag" form.elementDecorators.dd.options.tag = "dd" form.elementDecorators.label.decorator = "RequiredLabel" ou form.decorators.elements.decorator = "FormElements" form.decorators.form.dl.decorator = "HtmlTag" form.decorators.form.dl.decorator.options.tag = "dl" form.decorators.form.decorator = "Form" form.decorators.required.decorator = "RequriedFieldsInfo"
Merci d'avance
Dernière modification par Peggy (06-03-2008 09:19:52)
Hors ligne
Ne cherchez plus !!!
En fait la façon dont était écrit le rendu HTML du bouton convenait pas, j'ai réécris mon propre view helper formRadio.
Merci
Hors ligne
en fait le vue helper du formRadio construit son html comme ca :
<form enctype="application/x-www-form-urlencoded" action="/response/repondre" method="post"> <dl class="zend_form"> <dt></dt> <dd> <label style="white-space: nowrap;"> <input type="radio" name="radio1" value="1">1 </label> <label style="white-space: nowrap;"> <input type="radio" name="radio1" value="2">2 </label> </dd> <dt></dt> <dd> </dl> </form>
Et j'avais besoin de cette structure pour pouvoir tout modifier en css :
<form enctype="application/x-www-form-urlencoded" action="/response/repondre" method="post"> <div> <div> <label style="white-space: nowrap;">1</label> <input type="radio" name="radio1" value="1"> <label style="white-space: nowrap;">2</label> <input type="radio" name="radio1" value="2"> </div> </div> </form>
les balises dl, dt et dd je les ai enlevées et remplacée par des div via la manipulation des decorators:
$form->clearDecorators() ->addDecorator('FormElements') ->addDecorator('HtmlTag', array('tag' => 'div')) ->addDecorator('Form'); $form->setElementDecorators(array(array('ViewHelper', array('tag' => "")), array('Errors', array('tag' => "")), array('Label', array('tag' => NULL, 'separator'=>'')), array('HtmlTag', array('tag' => "div"))));
La manipulation des decorators m'a value un autre problème avec mes submit qui fait l'objet d'un autre post.
voilà.
Hors ligne
Okay
Mais je ne comprends pas pourquoi tu souhaites ce code
<label style="white-space: nowrap;">1</label> <input type="radio" name="radio1" value="1">
Car ici le label ne sert à rien (enfin d'un point de vue sémantique)
Hors ligne
et si il va me servir car je vais remplacer le contenu de ce label par une image comme c'est expliqué sur ce lien : http://www.mezzoblue.com/tests/revised- … placement/
Hors ligne
Okay.
Pense alors à rajouter l'attribut for="idInput" dans le label pour conserver sa valeur sémantique (ainsi que le comportement lors du clic sur un label qui donne le focus à l'input)
Hors ligne
c'est déjà fait
Hors ligne
Bonjour,
J'aime pouvoir ajouter une classe aux labels <label style="white-space: nowrap;"> des input radio mais je ne sais pas comment m'y prendre ? Pouvez -vous m'aider ?
Merci
Hors ligne
Utilise l'option label_class ou label_style.
Hors ligne
Pages: 1