Zend framework Zend_Form_元素标签在行,元素在行

Zend framework Zend_Form_元素标签在行,元素在行,zend-framework,zend-form,zend-form-element,zend-decorators,Zend Framework,Zend Form,Zend Form Element,Zend Decorators,如何装饰zend form元素以在tr中放置标签和在tr中放置元素 <tr><td><label>name</label></td></tr> <tr><td><input type="text"/></td></tr> 但它在同一行中产生标签和元素[tr] 我想在第行中添加标签,在另一行中添加元素如何做到这一点???使用装饰器进行此操作有点棘手,但这是可能的。由

如何装饰zend form元素以在tr中放置标签和在tr中放置元素

<tr><td><label>name</label></td></tr>
<tr><td><input type="text"/></td></tr>
但它在同一行中产生标签和元素[tr]
我想在第行中添加标签,在另一行中添加元素如何做到这一点???

使用装饰器进行此操作有点棘手,但这是可能的。由于您希望在相互独立的标记中包装两个单独的组件,因此必须首先使用HtmlTag装饰器包装其中一个组件,然后在另一个组件之后添加装饰器(或者可选地以另一种方式进行包装和预包装),以构建另一个组件:


这对装饰师来说有点棘手,但这是可能的。由于您希望在相互独立的标记中包装两个单独的组件,因此必须首先使用HtmlTag装饰器包装其中一个组件,然后在另一个组件之后添加装饰器(或者可选地以另一种方式进行包装和预包装),以构建另一个组件:

$this->setElementDecorators(
    array('ViewHelper',
    array(array('data'=>'HtmlTag'),array('tag'=>'td','class'=>'element_td')),
    array('Label',array('tag'=>"td")),
    array(array('row'=>'HtmlTag'),array('tag'=>'tr'))
    )
);
$this->setElementDecorators(array(
    array('Label'),
    array(array('labelTd'=>'HtmlTag'),array('tag'=>'td','class'=>'label_td')),
    array(array('labelTr'=>'HtmlTag'),array('tag'=>'tr','class'=>'label_tr')),
    array(array('elementOpenTr'=>'HtmlTag'),array('tag'=>'tr','class'=>'element_tr','openOnly'=>true,'placement'=>'append')),
    array(array('elementOpenTd'=>'HtmlTag'),array('tag'=>'td','class'=>'element_td','openOnly'=>true,'placement'=>'append')),
    array('ViewHelper', array('placement' => 'append')),
    array(array('elementCloseTd'=>'HtmlTag'),array('tag'=>'td','closeOnly'=>true,'placement'=>'append')),
    array(array('elementCloseTr'=>'HtmlTag'),array('tag'=>'tr','closeOnly'=>true,'placement'=>'append'))
));