在我的zend形式中,我将decarators设置为每个元素,而不是我可以设置适用于所有元素的单个decorater。
目前..
$code = new Zend_Form_Element_Text("mealplancode");
$code->setLabel("Code :");
$code->setDecorators(
array(
array('ViewHelper',
array('helper' => 'formText')
),
array('HtmlTag',
array('tag' => 'div', 'class' => '')
),
array('Label',
array('class' => 'label')
),
)
);
$name = new Zend_Form_Element_Text("mealplanname");
$name->setLabel("Name :");
$name->setDecorators(
array(
array('ViewHelper',
array('helper' => 'formText')
),
array('HtmlTag',
array('tag' => 'div', 'class' => '')
),
array('Label',
array('class' => 'label')
),
)
);
我想在单个setDecorator()中将装饰器设置为$ name和$ code 我能做到吗
答案 0 :(得分:2)
在你的表单类中定义一个装饰器字段,以便能够将它应用于任何表单元素,例如:
public $elementDecorators = array(
'ViewHelper',
array(array('data'=>'HtmlTag'), array('tag' => 'td')),
array('Label', array('tag' => 'td')),
array(array('row'=>'HtmlTag'),array('tag'=>'tr')));
在你的代码中你可以设置装饰器:
$formElement->setDecorators($this->elementDecorators);