Предварительное имя формы, имя подчиненной формы для идентификатора формы Zend Dojo - PullRequest
0 голосов
/ 29 января 2010

Я использую Zend Form и Dojo. У меня есть целая куча идентификаторов. Если вы посмотрите на следующий код, вы увидите мой текущий вид:

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

Вот как бы я хотел, чтобы это выглядело

<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>

Я хочу сделать это, так как в настоящее время создается довольно много идентичных идентификаторов, что вызывает другие проблемы.

Ответы [ 2 ]

0 голосов
/ 30 марта 2010

Вы можете убрать поля, которые будут повторяться в подчиненной форме. Идентификаторы будут сделаны из имени подчиненной формы и имени элемента, разделенных тире.

0 голосов
/ 03 февраля 2010

Если вы хотите иметь собственные идентификаторы для элементов, вам нужно использовать собственные декораторы.
DtDdWrapper по умолчанию возвращает «стандартные идентификаторы»

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

Я бы предложил либо

  • расширяет класс и перегружает функцию render () или
  • создайте и используйте свой собственный, персонализированный декоратор для Zend_Form_Element
...