Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour,
Voici mon probleme
actuellement j'ai ce code :
$decorators = array( array('ViewHelper'), array('Errors'), array('decorator'=>array('1er'=>'HtmlTag'),'options'=>array('tag'=>'div','class'=>'div-champ')), array('Label'=>array('1ere'=>'HtmlTag'),'options'=>array('tag'=>'div','class'=>'div-label')), array('decorator'=>array('2eme'=>'HtmlTag'),'options'=>array('tag'=>'div','class' => 'div-element')) ); $element->setDecorators($decorators);
qui donne :
<div class="div-element"> <div class="div-label"> <div class="div-champ"> <input name="fmFrozen" id="fmFrozen" type="text" maxLength="50" value="0"/> </div> </div> </div>
Or moi je cherche a avoir :
<div class="div-element"> <div class="div-label"><label>label</label></div> <div class="div-champ"> <input name="fmFrozen" id="fmFrozen" type="text" maxLength="50" value="0"/> </div> </div>
Si quelqu'un a une solution pour reussir a englober le label par une balise div avec la class 'div-label' et que celui si soit aussi englobler par div-element.
Merci de votre aide.
Hors ligne
Configrue ton label comme ca :
array("Label", array("tag" => "div"));
Impossible de préciser la classe du div. Par contre, ton tag va prendre pour id, le nom de ton label suivi de "-label"
Ca va donné ca :
<div class="div-element"> <div id="fmFrozen-label"><label for="fmFrozen">label</label></div> <div class="div-champ"> <input name="fmFrozen" id="fmFrozen" type="text" maxLength="50" value="0"/> </div> </div>
Dernière modification par nORKy (02-03-2010 09:44:16)
Hors ligne
Merci de ta reponse, en effet j'avais aussi tester cette solution, mais c'est vraiment dommage que pour le label on ne peut pas préciser de class a la div englobant le label.
Pour l'instant j'ai obté pour utiliser l'heritage en css : .div-element label
Mais je voulais avoir quelque chose de propre
Hors ligne
beh, c'est propre. Mais nous n'avons pt être pas la même notion de propre
Perso, je déteste multiplier les divs..
Hors ligne
En effet c'est subjectif la propreté, à mon sens soit je met des divs qui entourent tous les elements, les labels, les inputs soit je n'en met pas.
Cependant je pense avoir trouvé la solution a mon problème.
Au lieu d'essayer de préciser la classe de mon label, ce qui est d'ailleur apparement impossible. Il faut créer completement un decorateur soit même.
On a un exemple dans la doc au chapitre Custom Decorators ou on ajoute une * si requiered mais au doit pouvoir ajouter un div class='div-label' autour du label.
http://framework.zend.com/manual/en/zen … ators.html
J'experimente ca.
Dernière modification par alphonix (03-03-2010 15:49:45)
Hors ligne
Pas besoin de decorateur perso pour les "*". Exemple :
array('Label', array('requiredPrefix' => '<em>*</em>', 'escape' => false))
Hors ligne
Pages: 1