Отключить побег в Zend_Form_Element_Multicheckbox - PullRequest
1 голос
/ 29 августа 2009

Я работаю с элементом Multicheckbox и пытаюсь выяснить, как отключить «escape» в помощнике FormMulticheckbox. Мне удалось отправить управляющий параметр помощнику "description", и это прекрасно работает (см. "Escape" => false ниже):

$this->setDecorators(array(
    "ViewHelper",
    "Errors",
    array(array("internal" => "HtmlTag"), array(
       "tag"   => "div", 
       "class" =>"multi-internal",
    )),
    "LabelWithHelp",
    array("Description", array(
        "class"  => "ui-corner-all ui-state-highlight help",
        "escape" => false,
        "tag"    => "div",
    )),
    array(array("element" => "HtmlTag"), array(
        "tag"   => "div", 
        "class" =>"multi",
    )),
));

Но я не могу понять, к какому декоратору или элементу добавить что-то подобное, чтобы удалить экранированный вывод из метки, отображаемой с помощью Zend_View_Helper_FormRadio (от которого Zend_View_Helper_FormMultiCheckbox выходит) на строке 138 :

if ($escape) {
    $opt_label = $this->view->escape($opt_label);
}

Он проверяет, включено ли экранирование, поэтому где-то должна быть настройка. Просто не уверен, где его поставить: /

Спасибо!

Ответы [ 2 ]

7 голосов
/ 29 августа 2009

Ах, стреляй. Догадаться. Он должен применяться к элементу, а не к декоратору:

$this->setAttrib("escape", false);
4 голосов
/ 29 августа 2009

Вы пробовали:

$this->setAttrib( 'escape', false );

...