Zend framework Zend框架-表单元素-删除ID
是否可以删除Zend Framework默认添加到每个表单元素的“id”属性 我看过文档,但似乎无法找到这个相当直截了当的问题的答案 可能的解决办法 除了设置选项,还有什么更干净的方法吗Zend framework Zend框架-表单元素-删除ID,zend-framework,Zend Framework,是否可以删除Zend Framework默认添加到每个表单元素的“id”属性 我看过文档,但似乎无法找到这个相当直截了当的问题的答案 可能的解决办法 除了设置选项,还有什么更干净的方法吗 $submit = new Zend_Form_Element_Submit('submit'); $submit->setRequired(FALSE) ->setIgnore(TRUE) ->setDecorators($this->elementDeco
$submit = new Zend_Form_Element_Submit('submit');
$submit->setRequired(FALSE)
->setIgnore(TRUE)
->setDecorators($this->elementDecorators)
->setOptions(array('id' => ''));
一个解决方案是用您自己的视图辅助对象覆盖
Zend\u View\u Helper\u表单
。
但是,真诚地说,不要在表单中过多地关注这个id属性,您迟早会需要这个id(如果您使用的是Javascript),而性能增益(用于呈现页面)太小而无法考虑。这甚至会导致性能损失,因为您将覆盖帮助器
如果您的目的不同,并且仍然希望这样做,则需要编写自己的视图帮助程序,如下所示:
class My_View_Helper_Form extends Zend_View_Helper_FormElement
{
public function form($name, $attribs = null, $content = false)
{
$info = $this->_getInfo($name, $content, $attribs);
extract($info);
$xhtml = '<form'
. $this->_htmlAttribs($attribs)
. '>';
if (false !== $content) {
$xhtml .= $content
. '</form>';
}
return $xhtml;
}
}
class My\u View\u Helper\u Form扩展了Zend\u View\u Helper\u FormElement
{
公共函数表单($name,$attribs=null,$content=false)
{
$info=$this->\u getInfo($name、$content、$attribs);
摘录($信息);
$xhtml='';
如果(错误!==$content){
$xhtml.=$content
. '';
}
返回$xhtml;
}
}
最后,您只需使用插件加载程序重载默认的视图帮助器。有关插件加载器的更多信息。我的回答能解决您的问题吗?