ZF2 how to wrap contents in a form field?

I have a form with fields:

$formConfig = array(
    'fieldsets' => array(
        ...
    );
);

$factory = new Zend\Form\Factory();
$form = $factory->createForm($formConfig); 
echo $this->form($form);

He does something like this:

<form>
    <fieldset>
        <legend>Fieldset label</legend>
        <label><span>Elem 1</span><input type="text" name="f1[el1]" /></label>
        <label><span>Elem 2</span><input type="text" name="f1[el2]" /></label>
        <label><span>Elem 3</span><input type="text" name="f1[el3]" /></label>
    </fielset>
</form>

The problem is that I need to wrap the contents after the legend:

<form>
    <fieldset>
        <legend>Fieldset label</legend>
        <div class="wrapper">
            <label><span>Elem 1</span><input type="text" name="f1[el1]" /></label>
            <label><span>Elem 2</span><input type="text" name="f1[el2]" /></label>
            <label><span>Elem 3</span><input type="text" name="f1[el3]" /></label>
        <div>
    </fielset>
</form>

How can i do this?

+5
source share
1 answer

Once again, you need to understand what Zend\Form\FieldsetHTML doesn't match <fieldset>! A is Zend\Form\Fieldsetsimply a collection of Zend\Form\Element, which is usually a single entity, and you can provide multiple entities with data from the same Form.

, , , , Zend\Form\View\Helper -Classes. form() view-helper, Zend\Form\Element formRow() Zend\Form\Fieldset formCollection(). !

. - :

<?=$this->form()->openTag($form);?>
    <fieldset>
        <div class="wrapper">
            <?=$this->formRow($form->get('f1')->get('el1'));?>
            <?=$this->formRow($form->get('f1')->get('el2'));?>
            <?=$this->formRow($form->get('f1')->get('el3'));?>
        </div>
    </fieldset>
<?=$this->form()->closeTag();?>

, formRow(). , :

<label>
    <span><?=$this->formLabel($form->get('f1')->get('el1'));?></span>
    <?=$this->formInput($form->get('f1')->get('el1'));=>
    <?=$this->formElementErrors($form->get('f1')->get('el1'));?>
</label>

formInput() , , formText(), formSelect(), formTextarea() .. ..

+14

All Articles