【问题标题】:Zend_Form_Element_Radio option label should not be escapedZend_Form_Element_Radio 选项标签不应该被转义
【发布时间】:2011-02-01 04:08:19
【问题描述】:

我想在单选按钮的标签中包含一些 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);

【问题讨论】:

    标签: html zend-framework radio-button label


    【解决方案1】:

    答案是:

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

    感谢alokin at:

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

    【讨论】:

    • 我将尝试将它添加到文档中 - 如果它确实是一个功能而不是一些未记录的剩余部分。
    【解决方案2】:

    将其放入装饰器中;)您需要将其设置为标签装饰器;)

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

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

    【讨论】:

    • 请看我的编辑。我想转义使用 setMultiOptions 或 addMultiOptions 添加的元素的标签。虽然我最初确实提到过,但如果不够清楚,请见谅。
    猜你喜欢
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 2019-08-26
    • 1970-01-01
    • 2021-08-30
    • 2014-01-25
    • 1970-01-01
    • 2016-01-08
    相关资源
    最近更新 更多