Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour
je cherche une solution générique pour changer les décorators du z-f par défaut, je sais que le sujet a été traité plusieurs fois mais je n'arrive pas à adapter exactement pour mon cas
je voudrais générer du code comme ci dessous, de la facon qui requiert le moins de modifications (donc éviter les héritages de Zend_Form ou autre si c'est possible)
<form id = "myform"> <fieldset> <legend>legend</legend> <div class = "formLabel"><label for = "1">label</label></div> <div class = "formField"><input type = "text" name = "1" id = "1" /></div> <div class = "formLabel"><label for = "2">label</label></div> <div class = "formField"><input type = "text" name = "2" id = "2" /></div> et ainsi de suite... </fieldset> </form>
Dernière modification par Bouki (24-11-2008 10:54:32)
Hors ligne
merci mais je suis débutant avec le z-f et cela ne répond pas à ma question, je n'y connais rien aux décorators
Hors ligne
Simplement, ce n'est pas possible.
Éventuellement, le décorateur des labels peut encadrer les labels avec un tag (div par exemple) mais on ne peut pas lui donné un attribue.
Sinon, tu as le décorateur HtmlTag, mais tu vas englober le label et l'input ensemble.
Ou alors, il n'entoure que le label...
Tu n'as pas une autre solution ? quel est l'interet de tout entourer par des div ??
Tu n'as pas plutot un problème de CSS ?
Hors ligne
l'intéret est de reprendre un code existant pour lui appliquer un style différent et compatible ie6+
les dd, dt et autres limitent fortement les possibilitées en css, d'autant plus qu'il faut absolument que le site soit valide xhtml 1.0 strict (cahier des charges)
Hors ligne
Je sais pas si ça répond à ta question mais si tu veux que les éléments de ton form ne soit pas entourés de balises "dd", il faut procéder de la sorte :
$element = new Zend_Form_Element_Select($name); $element->removeDecorator('label'); //enleve les balises "dt" $element->removeDecorator('HtmlTag'); //enleve les balises "dd"
Voilà, j'ai cherché ça toute la journée, je suis tombé sur ce post donc si ça peut t'aider (même si la réponse intervient un peu tard ^^)
Hors ligne