2013-03-06 53 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

相关问题