Добавить div вокруг поля ввода в форме ZF2 - PullRequest
0 голосов
/ 04 ноября 2018

Я создаю форму с помощью Zend Framework 2. Я использую класс Form для определения элементов формы следующим образом:

class PropertyForm extends Form
{
    public function __construct($name=null)
    {
    ...

        $this->add(array(
            'name' => 'zip',
            'type' => 'Text',
            'required' => false,
            'options' => array(
                'label' => 'Zip Code',
            ),
            'attributes' => array(
                'id' => 'zip',
                'class' => 'form-control',
            ),
        )); 

    ...
    }
}

И в поле зрения я отображаю этот элемент формы со следующим кодом:

<div class="form-group"><?php echo $this->formRow($form->get('zip')); ?></div>

Это генерирует следующий вывод HTML:

<div class="form-group">
    <label for="zip">Zip Code</label>
    <input type="text" name="zip" id="zip" class="form-control" value="">
</div>

Чего я хочу добиться, так это иметь <div class="my-class"> вокруг поля ввода. Таким образом, желаемый вывод HTML будет:

<div class="form-group">
    <label for="zip">Zip Code</label>
    <div class="my-class">
        <input type="text" name="zip" id="zip" class="form-control" value="">
    </div>
</div>

Как мне этого добиться?

1 Ответ

0 голосов
/ 05 ноября 2018

Вы можете получить метку и сам элемент двумя разными вызовами:

для этикетки:

<?php echo $this->formLabel($yourForm->get('your_element')); ?>

Для элементов:

<?php echo $this->formSelect($yourForm->get('your_element_select')); ?>
<?php echo $this->formText($yourForm->get('your_element_text')); ?>
<?php echo $this->formRadio($yourForm->get('your_element_radio')); ?>

Итак, для вашего примера это будет что-то вроде:

<div class="form-group">
    <?php echo $this->formLabel($form->get('zip')); ?>
    <div class="my-class">
        <?php echo $this->formText($form->get('zip')); ?>
    </div>
</div>
...