Zend dojo form id form adı, form adını prepending

2 Cevap php

Ben Zend Form ve Dojo'sunu kullanıyorum. Ben aynıdır kimlikleri bir sürü var. Aşağıdaki kodu bakarsanız benim şimdiki görünümünü görebilirsiniz:

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

İşte ben böyle bakmak istiyorum ne

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

Ben şu anda bu epeyce özdeş kimlikleri oluşturulan ve diğer sorunları neden bunu yapmak istiyor.

2 Cevap

If you want to have custom IDs for elements, you need to use your own decorators.
The default DtDdWrapper returns the "standard IDs"

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

Ben öneririm ya

  • sınıfını genişletmek ve render () fonksiyonu veya aşırı
  • oluşturmak ve Zend_Form_Element için kendi özel dekoratör kullanmak

Sen alt formun tekrar edilecek alanları alabilir. Kimlikleri alt form adı ve tire ile ayrılmış bir öğe adına yapılacaktır.