Метка опции Zend_Form_Element_Radio не должна быть экранирована - PullRequest
2 голосов
/ 26 марта 2010

Я хочу включить 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)

Есть идеи? Спасибо всем!

EDIT

Хотя установка escape на false для декоратора Label может работать, это не совсем то, что я хочу сделать. Я хочу установить escape на false для меток мультиопций. Следующее не то, что я хочу сделать. Смотрите HTML, который я добавил в setMultiOptions? Вот чего я хочу избежать:

    $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 ]

8 голосов
/ 29 марта 2010

И ответ:

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

Спасибо Алокину по адресу:

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

0 голосов
/ 27 марта 2010

Поместите его в декораторы;) вам нужно установить его в декоратор Label;)

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

(не уверен насчет имен конкретных методов, но вы поняли)

...