我正在为现有表单添加同意复选框。我无法在复选框的右侧呈现标签。我做错了什么?
请注意,复选框是使用$this->addElement(
创建的,因为表单的其余部分是以这种方式创建的。
我提前感谢你。
$this->addElement('checkbox', 'isUserConsent', array(
'options' => array(array('placement' => 'APPEND')),
'label' => 'Plz activate',
'validators' => array(
array('InArray', false, array(
'hay' => array(1),
'messages' => 'Please check the consent box'),
)
),
'decorators' => array('ViewHelper','Errors','Label'),
));
答案 0 :(得分:2)
默认是添加标签,但您可以通过修改装饰器的“放置”选项来更改此标签:
$this->getElement('isUserConsent')->getDecorator('label')->setOption('placement', 'append');
编辑:我从不将此语法用于装饰器,但它应该是这样的:
$this->addElement('checkbox', 'isUserConsent', array(
'options' => array(array('placement' => 'APPEND')),
'label' => 'Plz activate',
'validators' => array(
array('InArray', false, array(
'hay' => array(1),
'messages' => 'Please check the consent box'),
)
),
'decorators' => array(
'ViewHelper',
'Errors',
'Label' => array(
'placement' => 'append'
)
),
));
答案 1 :(得分:0)
这是呈现表单元素标签的代码。
$ this-> form-> name-> render Label();