ZF2格式化?

时间:2013-02-12 08:30:31

标签: php zend-framework2

我正在使用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 个答案:

答案 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>