我正在使用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();
?>
绘制标签和单选按钮。 我的问题是如何根据自己的喜好格式化这些元素?例如,使单选按钮水平显示而不是垂直显示,并可能更改标签的位置。
答案 0 :(得分:9)
没有什么可以阻止你在那里格式化它们,你可以将元素放在列表中,或者根据需要设置你想要设置样式的任何其他标记。
<?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>