用于特殊表的Zend表单装饰器

时间:2011-10-05 15:25:20

标签: zend-framework zend-form zend-form-element

如何从ZEND_FORM获取此表?

<table>
    <tr>
        <th>label 1</th>
        <th>label 2</th>
    </tr>
    <tr>
        <td>form element 1</td>
        <td>form element 2</td>
    </tr>
</table>

这就是我所拥有的。但这不正确。

$kinder_decorators = array(
        'ViewHelper', 
        'Errors',

        array('Label', array('tag' => 'th')),
        array(array('data' => 'HtmlTag'), array('tag' => 'td'))


    );

有人可以帮忙吗?

BR Matt

2 个答案:

答案 0 :(得分:2)

我担心你需要在整个表格上使用ViewScript decorator。 ViewScript装饰器为表单元素的更复杂布局提供了更大的灵活性。

有关小例子,请参阅my answer here。如果不清楚,请给我一个评论,我会在这里稍微扩展一下。

答案 1 :(得分:0)

你无法实现这种结构。因为它不可能在同一行内包含两个不同的标签而在另一行内包含两个不同的表单元素。你应该做的标记是不正确的

<tr><td>label1</td><td>form element 1</td></tr>
<tr><td>label2</td><td>form element 2</td></tr>

$kinder_decorators = array(
        'ViewHelper', 
        'Errors',
array(array('content' => 'HtmlTag'), array('tag' => 'td'))
array('Label', array('tag' => 'th')),
array(array('data' => 'HtmlTag'), array('tag' => 'tr'))


    );