2015-05-13 26 views
0

我有這樣的一個形式是否可以爲Zend Framework 2表單行設置分隔符或在段落中顯示它們?

$this->add(array(
     'name'=>'username', 
     'type'=>'Text', 
     'options'=>array(
      'label' => 'Username', 
     ) 
    )); 
$this->add(array(
     'name'=>'password', 
     'type'=>'Password', 
     'options'=>array(
      'label' => 'Password', 
     ) 
    )); 

echo $this->formCollection($form); 

這顯然只是代碼的相關部分。輸出如下:

<fieldset ><label><span>Username</span><input type="text" name="username" value=""></label><label><span>Password</span><input type="password" name="password" value=""></label> 

有沒有辦法將每一行放入一個段落或用換行符分隔所有的行?我讀了關於裝飾器的一些東西,但我不確定這是Zend Framework Version 2,我不知道如何將它應用於formCollection,如果是的話。

回答

0

最好的辦法是用你自己的版本覆蓋formRow幫手,輸出你想要的標記。我寫了一個小小的lib,這樣做,隨時使用它或複製的方法。

定義了自己的助手:https://github.com/tfountain/tf-form/blob/master/src/TfForm/Form/View/Helper/FormRow.php,然後更新您的模塊配置使用它:https://github.com/tfountain/tf-form/blob/master/config/module.config.php

+0

克隆到我的項目和作品太好了,謝謝。只需要對渲染函數做一些小改動並添加$ labelPosition參數,否則由於兼容性,我得到了一個致命錯誤。 –

相關問題