Форматирование формы ZF2?


Я использую ZF2 и имею форму, которая определяет кучу элементов, а затем я визуализирую ее в моем phtml следующим образом:

<?php 

$form = $this->form;
$form->prepare();

echo $this->form()->openTag($form);
echo $this->formlabel($form->get('description'));
echo $this->formRow($form->get('radioButton'));
echo $this->form()->closeTag();

?>

Который рисует метку и переключатель. Мой вопрос заключается в том, как я могу затем отформатировать эти элементы по своему вкусу? Например, сделайте так, чтобы переключатели отображались горизонтально, а не вертикально, и, возможно, измените расположение метки.

1 3

1 ответ:

Ничто не мешает вам отформатировать их, как у вас есть, вы можете поместить элементы в список, или Ид любую дополнительную разметку, которую вы хотите, чтобы стиль, как вы хотите.

<?php 
$form = $this->form;
$form->prepare();

echo $this->form()->openTag($form);
?>
<ul class="form-list">
    <li>
    <div class="form-control">
        <?php echo $this->formlabel($form->get('description')); ?>
        <?php echo $this->formElementErrors($form->get('description')) ?>
        <?php echo $this->formElement($form->get('description')); ?>
    </div>
    <div class="form-control">
        <?php echo $this->formlabel($form->get('radioButton')); ?>
        <?php echo $this->formElementErrors($form->get('radioButton')) ?>
        <?php echo $this->formElement($form->get('radioButton')); ?>
    </div>
    </li>
</ul>
<?php echo $this->form()->closeTag() ?>

Если бы вы хотели иметь контроль над самими фактическими элементами / входами, вы могли бы сделать что-то вроде этого:

<label>
    <?php echo $form->get('radioButton')->getLabel() ?>
    <input class="bob" type="radio" 
           name="<?php echo $form->get('radioButton')->getName() ?>"
           value="<?php echo $form->get('radioButton')->getValue() ?>"
    />
</label>