Подстрочный или надстрочный текст внутри метки Zend Form - PullRequest
4 голосов
/ 19 марта 2010

Я хотел бы включить подстрочный текст в метку Zend_Form_Element, и он, похоже, не работает:

 $zend_form_element->setLabel('Label <sub>x</sub>');

Могу ли я что-нибудь сделать, чтобы он правильно выводился без необходимости вручную писать форму на странице просмотра? Спасибо за помощь,

Dave

Ответы [ 5 ]

6 голосов
/ 01 сентября 2010

Я бы сказал, что лучший способ - получить фактический декоратор из элемента и затем установить опцию escape, чтобы не добавлять новый декоратор:

$zend_form_element->getDecorator('Label')->setOption('escape',false);
3 голосов
/ 22 марта 2010

Вот правильный способ сделать это:

$zend_form_element->addDecorator('Label', аrray('escape'=>false));

от: http://forums.zend.com/viewtopic.php?f=69&t=5706

1 голос
/ 24 мая 2013

Вы также можете сделать это следующим образом:

$radioElement = new Zend_Form_Element_Checkbox('formelement_0');
$radioElement->setLabel('Do you accept the <a href="#">Terms &amp; Conditions</a>?');
$radioElement->getDecorator('Label')->setOption('escape', false);
1 голос
/ 21 марта 2010

Попробуйте:

$zend_form_element->setAttribs( array( 'escape' => false ) )
                  ->setLabel( 'Label <sub>x</sub>' );

Или единственное число:

$zend_form_element->setAttrib( 'escape', false )
                  ->setLabel( 'Label <sub>x</sub>' );
0 голосов
/ 05 декабря 2012

Из ответа @ fireeyedboy вы также можете сделать следующее прямо в своем Zend_Form:

$this->addElement(
'radio',
'name',
array(
    /* more settings */
    'attribs'   => array(
        'escape' => FALSE
    )
));
...