Zend_Form:使用图像而不是文本标签?

时间:2012-10-04 16:47:11

标签: zend-framework zend-form zend-decorators

我想用一些图像替换公共输入的标签。 我有一个带有国家/地区列表的多重复选框,我想为每个复选框显示国家/地区标志而不是它的名称。

我尝试将<img/>标记作为标记值,​​但此html会转义并显示为文本而不是显示图像...

有原生解决方案吗?我应该创建一个自定义装饰器吗?

我目前正在尝试创建一个自定义装饰器,但我是菜鸟,我很确定还有另一种清洁方式!谢谢你的帮助...

1 个答案:

答案 0 :(得分:0)

好的,我终于找到了自己...这很简单,我甚至都没想过。

创建表单元素时,可以将选项escape设置为false

$this->addElement('multiCheckbox', 'countries', array(
    'filters'    => array(/* some filters */),
    'validators' => array(/* some validators */),
    'label'      => 'Countries :',
    'decorators'  => array( /* some decorators */ ),
    'escape'     => false, /* will prevent the checkboxes' labels to be escaped */
));

由于我的复选框'标签不再被转义,我可以在里面设置一些html:)