我正在尝试使用装饰器更改Zend_Form输出的html。
我希望输出的HTML看起来像这样:
<form>
<fieldset>
<legend>Your Details</legend>
<dl>
<dt>label etc</dt>
<dd>input etc</dd>
<dt>label etc</dt>
<dd>input etc</dd>
</dl>
</fieldset>
<fieldset>
<legend>Address Details</legend>
<dl>
<dt>label etc</dt>
<dd>input etc</dd>
<dt>label etc</dt>
<dd>input etc</dd>
... etc ...
</dl>
</fieldset>
</form>
我已经使用显示组在特定的字段集中打破了我想要的部分,例如
$this->addDisplayGroup(array('name','email','telephone'),'yourdetails');
$yourdetails= $this->getDisplayGroup('personal');
$yourdetails->setDecorators(array(
'FormElements',
'Fieldset'
));
这给了我每个部分都位于一个字段集中,但每个表单元素现在都缺少一个包装dl所以我所拥有的是:
<form>
<fieldset>
<dt>label etc</dt>
<dd>input etc</dd>
<dt>label etc</dt>
<dd>input etc</dd>
</fieldset>
... etc
</form>
答案 0 :(得分:2)
试试这个:
$yourdetails->setDecorators(array(
'FormElements',
array('HtmlTag', array('tag' => 'dl')),
'Fieldset'
));
应该:
<dl>
<fieldset>
<dl>
醇>