2013-03-06 30 views
0
$elementDecoration = array(
     'ViewHelper', 
     'Description', 
     'Errors', 
     array(array('data'=>'HtmlTag'), array('tag' => 'td', 'valign' => 'TOP')), 
     array('Label', array('tag' => 'td')), 
     array('Errors'), 
     array(array('row'=>'HtmlTag'),array('tag'=>'tr')) 
      ); 


     $username = new Zend_Form_Element_Text('username'); 
     $username->setLabel('username') 
     ->setDecorators($elementDecoration) 
     ->setRequired(true) 
     ->addFilter('StripTags') 
     ->addFilter('StringTrim') 
     ->addValidator('NotEmpty'); 

輸出像下面Zend的表創建

<tr> 
    <td id="username-label"> 
     <label for="username" class="required">username</label> 
    </td> 
<td valign="TOP"> 
    <input type="text" name="username" id="username" value=""> 
     <ul class="errors"><li>Value is required and can't be empty</li></ul> 
    </td> 
</tr> 

但我想象下面

<tr> 
    <td>User Name:</td> 
    </tr> 
    <tr> 
    <td colspan=2><input name="username"/></td> 
    </tr> 
    <tr> 
    <td class="error_msg" colspan=2>Required</td> 
    </tr> 
  1. 以及我想相同像上面的輸出。
  2. 爲好,要刪除UL裏。

回答

0

請仔細閱讀並瞭解以下信息:

要呈現的形式到表:

$form->setDecorators(array(
    'FormElements', 
    array('HtmlTag', array('tag' => 'table')), 
    'Form' 
)); 

另外,你需要確保的元素和標籤的數據表中 和錶行:

$form->setElementDecorators(array(
    'ViewHelper', 
    'Errors', 
    array('decorator' => array('td' => 'HtmlTag'), 'options' => array('tag' => 'td')), 
    array('Label', array('tag' => 'td')), 
    array('decorator' => array('tr' => 'HtmlTag'), 'options' => array('tag' => 'tr')), 
)); 

爲了您的「提交」按鈕,你要修改的裝飾所以 提交跨欄:

$form->submit->setDecorators(array(
     array(
      'decorator' => 'ViewHelper', 
      'options' => array('helper' => 'formSubmit')), 
     array(
      'decorator' => array('td' => 'HtmlTag'), 
      'options' => array('tag' => 'td', 'colspan' => 2)), 
     array(
      'decorator' => array('tr' => 'HtmlTag'), 
      'options' => array('tag' => 'tr')), 
    )); 

上面的代碼會給你像下面的表格。現在您可以根據需要進行編輯。 你的最後一個表格結構並不清楚作爲第一僅具有1列和第二具有與列跨度= 2。

<form> 
<table> 
    <tr> 
    <td>Label</td> 
    <td><input type="text" name="test"></td> 
    </tr> 
    <tr> 
    <td colspan=2><input type="submit"></td> 
    </tr> 
</table> 
</form> 
+0

我期待像表TR TD標籤名稱TR TD輸入框TR TD標籤名稱TR TD輸入框 – Bharanikumar 2013-03-06 10:56:35

+0

我不鰭doutput你的代碼和分 – Bharanikumar 2013-03-06 10:57:07

+0

之間不同的我是不是從描述您的要求清楚你所以我給了你一個想法如何使用Zend幫手,現在你可以相應地編輯它。 – 2013-03-06 10:59:34