2012-10-26 79 views
2

看起來像使用不帶標籤的FormCollection視圖幫助程序自動渲染按鈕元素似乎是不可能的。渲染帶有內容且沒有標籤的Zend Form Element Button

只要有可能,我呈現的形式是這樣的:

<?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" />元素。

我在這裏錯過了什麼嗎?提前致謝!

回答

0

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

+0

是的,這是最明顯的解決方案,但是,我想知道是否有本地方法。 –

2

當我遇到這個問題時,我意外地得到了解決方案!這很容易(或者說駭人聽聞?),我不會想到要工作。

添加到您的字段集:

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

這就是全部。它爲我工作得非常好。

+0

該解決方案適用於我。快捷方便。謝謝! –