2010-01-29 6 views
0

J'utilise Zend Form et Dojo. J'ai tout un tas d'identifiants qui sont identiques. Si vous regardez le code suivant vous pouvez voir mon look actuel:Nom du formulaire, nom du sous-formulaire à l'id de zend dojo formulaire

<dt id="addElement-label">&nbsp;</dt><dd id="addElement-element"> <button name="createEventForm[categoryDetail][addElement]" id="createEventForm-categoryDetail-addElement" type="button">addElement</button></dd> 

Voici ce que je voudrais qu'il ressemble

<dt id="createEventForm-categoryDetail-addElement-label">&nbsp;</dt><dd id="createEventForm-categoryDetail-addElement-element"> <button name="createEventForm[categoryDetail][addElement]" id="createEventForm-categoryDetail-addElement" type="button">addElement</button></dd> 

Je veux faire comme actuellement cela a créé un certain nombre Ids identiques et cela provoque d'autres problèmes.

Répondre

0

Si vous souhaitez avoir des ID personnalisés pour les éléments, vous devez utiliser vos propres décorateurs.
La valeur par défaut DtDdWrapper renvoie les « ID standard »

// Zend/Form/Decorator/DtDdWrapper.php line 60-61 
return '<dt id="' . $elementName . '-label">&nbsp;</dt>' . 
     '<dd id="' . $elementName . '-element">' . $content . '</dd>'; 

Je suggère soit

  • étendre la classe et la surcharge de la fonction ou
  • créer et utiliser votre propre, décorateur personnalisé render() pour Zend_Form_Element
0

Vous pouvez supprimer les champs qui seront répétés dans le sous-formulaire. Les ID seront créés à partir du nom du sous-formulaire et du nom de l'élément séparés par un tiret.

Questions connexes