在Zend_Form_Element描述装饰器中使用HTML

时间:2012-07-10 14:34:18

标签: zend-framework zend-form-element zend-decorators

是否可以在Zend_Form_Elment中的描述装饰器中使用HTML?例如,以下语句不起作用:

$number = new Zend_Form_Element_Text('number', array(
       'size' => 32,
       'description' => 'Please the the following website: <a href="foo/bar">lorem ipsum</a>',
       'max_length' => 100,
       'label' => 'Number'));

链接未在说明中显示,括号将转换为其特殊字符对应项。

是否有另一种方式来显示链接(或者根本不使用HTML)?

1 个答案:

答案 0 :(得分:4)

有可能,你只需告诉Description装饰者不要逃避输出。

尝试:

$number = new Zend_Form_Element_Text('number', array(
   'size'        => 32,
   'description' => 'Please the the following website: <a href="foo/bar">lorem ipsum</a>',
   'max_length'  => 100,
   'label'       => 'Number')
);

$number->getDecorator('Description')->setOption('escape', false);

如果为元素创建自己的装饰器集,也可以在配置这样的装饰器时指定此选项:

    $elementDecorators = array(
        'ViewHelper',
        'Errors',
        array('Description', array('class' => 'description', 'escape' => false)),
        array('HtmlTag',     array('class' => 'form-div')),
        array('Label',       array('class' => 'form-label', 'requiredSuffix' => '*'))
);

相关部分是:

  

array('Description',array('class'=&gt;'description','escape'=&gt;   假)),