2011-06-06 88 views
0

如何防止在zend form elemnt上转义html?我的代码是不是在所有如何防止在Zend Form上转义选择:Zend Framework

$this->addElement('Select', 'forum_icon', array(
     'label' => 'Forum Icon', 
     'value' => $this->_forum->FORUM_ICON, 
     'escape' => false, 
     'multiOptions' => $icons 
    )); 

我尝试另一种方法工作,但它仍然无法正常工作

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

在此先感谢,

布赖恩

+1

你不能做到这一点的 '简单的方法'。你需要在不转义的情况下创建自己的FormSelect视图助手。 – Marcin 2011-06-06 14:20:49

+0

是的,这让我很头疼 – brian 2011-06-06 15:19:10

回答

2

你可以实现你的选择装饰生成HTML以供选择的非转义值的元素。例如:

class My_Select_Decorator extends Zend_Form_Decorator_Abstract 
{ 
    public function render($content) 
    { 
     $element = $this->getElement(); 
     // Generate HTML markup 
     return $markup; 
    } 
} 

参考以下文章了解更多信息:

http://weierophinney.net/matthew/archives/212-The-simplest-Zend_Form-decorator.html

http://codeutopia.net/blog/2008/08/07/zend_form-decorator-tips/

+0

select元素无法渲染图像里面的标签选项,这是因为dtd格式。 – brian 2011-06-06 13:54:32