不应转义Zend_Form_Element_Radio选项标签

时间:2010-03-26 12:52:06

标签: html zend-framework radio-button label

我想在单选按钮的标签中包含一些HTML,以便用户可以单击该标签中的链接。例如

<label for="value-12">
    <input name="value" id="value-12" value="12" checked="checked" type="radio">
    Doo Bee Dooo Bee Doooo
    <a href="somelink">preview this song</a>
</label>

html一直在逃脱。我想阻止它。我读到了:

array('escape' => false)

某处,但我不知道如何使用

$value->setMultiOptions($songs);

$value->addMultiOptions($songs)

有什么想法吗?谢谢大家!

修改

虽然将“标签”装饰器的转义设置为false可能有效,但这并不是我想要做的。我想为多重选项的标签设置escape为false。以下不是我想要做的。查看我在setMultiOptions中添加的HTML?这就是我想要逃脱的:

    $value = new Zend_Form_Element_Radio('value');
    $value->setMultiOptions(array('NULL'=>'None <a href="#">A Link</a>'));
    $value->addMultiOptions($this->objlist);
    $value->setLabel($this->title);
    $value->getDecorator('Label')->setOption('escape', false);

2 个答案:

答案 0 :(得分:8)

答案是:

$value = new Zend_Form_Element_Radio('value', array('escape'=>false));

感谢alokin:

http://forums.zend.com/viewtopic.php?f=69&t=5938&start=0&sid=987612aa8ff8193a04bf73a52196358b

答案 1 :(得分:0)

将它放入装饰器;)你需要将它设置为Label装饰器;)

$el->getDecorator('Label')->setOption('escape', false);

(不确定具体的方法名称,但你明白了)