Hi all,
For all the Yanks out there, hope you had a great Thanksgiving Day.
Been fighting this for weeks and still don't get it.
What I'm trying to achieve is to wrap each form element in a <dl></dl>
tag. After much experimenting I ended up with this:
public function setSubFormDecoratorsDl(Zend_Form_SubForm $subForm)
{
$subForm->setDecorators(
array(
array('FormElements',
array('separator' => "</dl><dl>"),), <-------
array('Form'),
array('Fieldset'),
)
);
}
...trying to get the following:
<fieldset>
<form>
<dl>
<dt><label/></dt>
<dd><input/></dd>
</dl>
<dl>
<dt><label/></dt>
<dd><input/></dd>
</dl>
</form>
</fieldset>
...but end up with this:
<fieldset>
<form>
<dl></dl> <----- extra, empty <dl/>
<dl>
<dt><label>...</label></dt>
<dd><input/></dd>
<dl>
<dl>
<dt><label>...</label></dt>
<dd><input/></dd>
<dl>
</form>
</fieldset>
If I don't include the separator I end up with all of the FormElements
inside *one* <dl/>. e.g.
<dl>
<dt/><dd>
<dt/><dd>
</dl>
Definitely *not* what I want.
I can use css to hide the superfluous <dl/>, but if the wrapper tag is
instead, e.g. <tr/> or <td/>, it destroys table layouts because of the
extra row or column.
What is the correct way to decorate the FormElements so I don't inject
an empty, extra tag?
I've lost a ton of time trying to figure this out but am afraid I'll
drop dead before I get it ;/
Sign me "desperate".
Thanks for any and all help,
Mike Wright
--
List: [email protected]
Info: http://framework.zend.com/archives
Unsubscribe: [email protected]