我正在使用表格格式呈现一个非常简单的表格。我首先添加元素,然后使用以下内容设置它们的基本装饰器:
$this->setElementDecorators(array(
'Viewhelper',
array(array('data'=>'HtmlTag'),array('tag'=>'td')),
'Label',
array(array('labelCell'=>'HtmlTag'),array('tag'=>'td', 'align'=>'right')),
array(array('row'=>'HtmlTag'), array('tag'=>'tr'))
));
之后,我操纵任何一组元素(根据需要)来设置不同的外观,例如:将元素组合在一行中。为此,执行以下操作:
$this->getElement($elementName)->setDecorators(array(
'Viewhelper',
array(array('data' => 'HtmlTag'), array('tag' => 'td', 'colspan' => $colspan)),
'Label',
array(array('labelCell' => 'HtmlTag'), array('tag' => 'td', 'align' => 'right')),
array(array('row' => 'HtmlTag'), array('tag' => 'tr'))
));
如您所见,我必须再次setDecorators()
添加所有这些(默认的),所以我可以更改'data'
装饰器并添加属性"colspan"
。
我的问题是:是否可以访问和更改单个装饰器,而不必设置元素具有的所有先前的装饰器?