使用内容和无标签渲染Zend \ Form \ Element \ Button

时间:2012-10-26 10:42:24

标签: php button zend-form zend-framework2

似乎无法使用没有标签的FormCollection视图助手自动渲染按钮元素。

只要有可能,我就会以这种方式呈现表单:

<?php echo $this->form()->openTag($this->form); ?>
    <?php echo $this->formCollection($this->form); ?>
<?php echo $this->form()->closeTag($this->form); ?>

但是,由FormButton调用的FormCollection视图助手等待按钮的内容作为render()方法的第二个参数 - 或标签选项。如果我设置标签,按钮会正确呈现,但是,您猜测它是否带有标签。

我试图通过浏览代码找出解决方法,但我看不到。

注意: FormButton呈现<button>...</button>个元素。我也可以使用<input type="button" />元素。

我在这里遗漏了什么吗?提前谢谢!

2 个答案:

答案 0 :(得分:2)

当我在解决这个问题时,我意外地得到了解决方案!它是如此容易(或者是hackish?),我不会想到它。

将此添加到您的字段集:

$this->add(array(
    'name' => 'delete',
    'attributes' => array('type'=>'button', 'value' => 'Delete', 'onclick'=>'delete()'),
));

这就是全部。它非常适合我。

答案 1 :(得分:0)

编写自己的formCollection ViewHelper,它使用你自己的formButton ViewHelper。