Логические параметры openOnly и closeOnly для декоратора HtmlTag делают именно то, что вам нужно. Как вы можете понять, openOnly означает, что он генерирует только открывающий тег (то есть) без закрывающего тега, и наоборот для атрибута closeOnly (т.е.
Zend_Form PHP-код:
$form = new Zend_Form();
// Form stuff here
$form->addDisplayGroup(
array(
'homeAddressLine1',
'homeAddressLine2',
'homeCity',
// etc
),
'homeAddress',
array(
'legend' => 'Home Address'
'disableDefaultDecorators' => true,
'decorators' => array(
'FormElements',
'FieldSet',
array('HtmlTag', array('tag' => 'div', 'class' => 'addresses', 'openOnly' => true))
)
)
);
$form->addDisplayGroup(
array(
'workAddressLine1',
'workAddressLine2',
'workCity',
// etc
),
'workAddress',
array(
'legend' => 'Work Address'
'disableDefaultDecorators' => true,
'decorators' => array(
'FormElements',
'FieldSet',
array('HtmlTag', array('tag' => 'div', 'closeOnly' => true))
)
)
);
Сгенерированный HTML:
<form <!-- Your Zend_Form attributes here -->>
<div class="addresses">
<fieldset id="fieldset-homeAddress">
<legend>Home Address</legend>
<!-- Your Home Address elements/decorators here -->
</fieldset>
<fieldset id="fieldset-workAddress">
<legend>Work Address</legend>
<!-- Your Work Address elements/decorators here -->
</fieldset>
</div>
</form>