【发布时间】:2010-03-18 22:01:17
【问题描述】:
我想在 Zend_Form_Element 的标签中包含下标文本,但它似乎不起作用:
$zend_form_element->setLabel('Label <sub>x</sub>');
我可以做些什么来使其正确输出而无需在视图页面上手动编写表单?感谢您的帮助,
戴夫
【问题讨论】:
标签: html zend-framework label zend-form
我想在 Zend_Form_Element 的标签中包含下标文本,但它似乎不起作用:
$zend_form_element->setLabel('Label <sub>x</sub>');
我可以做些什么来使其正确输出而无需在视图页面上手动编写表单?感谢您的帮助,
戴夫
【问题讨论】:
标签: html zend-framework label zend-form
我想说最好的方法是从元素中获取实际的装饰器,然后设置转义选项,而不是添加新的装饰器:
$zend_form_element->getDecorator('Label')->setOption('escape',false);
【讨论】:
这是正确的做法:
$zend_form_element->addDecorator('Label', аrray('escape'=>false));
【讨论】:
试试:
$zend_form_element->setAttribs( array( 'escape' => false ) )
->setLabel( 'Label <sub>x</sub>' );
或单数:
$zend_form_element->setAttrib( 'escape', false )
->setLabel( 'Label <sub>x</sub>' );
【讨论】:
您也可以通过以下方式进行:
$radioElement = new Zend_Form_Element_Checkbox('formelement_0');
$radioElement->setLabel('Do you accept the <a href="#">Terms & Conditions</a>?');
$radioElement->getDecorator('Label')->setOption('escape', false);
【讨论】:
根据@fireeyedboy 的回答,您还可以直接在 Zend_Form 中执行以下操作:
$this->addElement(
'radio',
'name',
array(
/* more settings */
'attribs' => array(
'escape' => FALSE
)
));
【讨论】: