我是Zend的新手,我已经获得了一个可以进行调整的项目。我想将html添加到我的表单元素的标签中,但我似乎无法正确使用它。
这就是我所拥有的:
$this->addElement('text', 'school_name', array(
'filters' => array('StringTrim'),
'validators' => array(
array('StringLength', false, array(0, 150)),
),
'required' => true,
'label' => 'Name* :<img src="picture.png">,
'size' => '90',
));
当然,<img src="picture.png">
文本会被转义并显示整个字符串。
我已经读过,我需要以某种身份使用'escape' => false
,但在我的具体情况下,我无法弄清楚在何处/如何使用它。
任何帮助都会很棒。谢谢!
答案 0 :(得分:8)
在调用addElement
后,获取标签的装饰器并更改转义设置:
$form->getElement('school_name')->getDecorator('label')->setOption('escape', false);
如果您经常使用此类标签,则应考虑writing a custom decorator。
答案 1 :(得分:6)
在向表单添加元素时,您还可以在'label_options'中使用disable_html_escape:
$this->add(array(
....
'options' => array(
'label' => '<span class="required">Name</span>,
'label_options' => array(
'disable_html_escape' => true,
)
),
...
));