Update. I managed to get this to work by creating my own Label decorator, which extended Zend / Form / Decorator / Label.php. I added the setTagClass () method to it and redefined the rendering method to create a wrapper tag with the required class. There may be a more elegant way to do this, but it seems to work.
I am looking for information on how to set a class on a label dt element using a decorator. The third line of code sets the class on the label and wraps the label in the dt tag. I want to know how I can set a class in a dt tag.
$txtLangPrefOther = $this->createElement('text','langPrefOther');
$txtLangPrefOther->setLabel('Language Preference Other:'));
$txtLangPrefOther->getDecorator('Label')->setOptions(array('tag' => 'dt', 'class' => 'other'));
This produces output, for example
<dt id="langPrefOther-label">
<label for="langPrefOther" class="other">Language Preference Other:</label>
</dt>
<dd id="langPrefOther-element">
<input type="text" id="langPrefOther" name="langPrefOther" ">
</dd>
I want it to look like
<dt id="langPrefOther-label" class="other">
<label for="langPrefOther">Language Preference Other:</label>
</dt>
<dd id="langPrefOther-element">
<input type="text" id="langPrefOther" name="langPrefOther" ">
</dd>
Chris source
share