如何告诉Zend_Form我想要一个元素(以及它的ID标签等)来使用另一个ID值而不是元素的名称?
我在页面中有多个表单。他们中的一些人有重复的名字。因此,当Zend_Form使用名称创建元素ID时,我最终会使用具有相同ID的多个元素,这会使我的(X)HTML文档无效。
解决此问题的最佳解决方案是什么,因为我必须坚持使用相同的元素名称(它们是所有表单共有的哈希,并且使用Zend_Form哈希元素实际上是不可能的)?
答案 0 :(得分:0)
Zend_Form_Element
有一个名为setAttribs的方法,它接受一个数组。您可以执行$element->setAttribs(array('id' => "some_id"));
或者你可以做$ element-> setAttrib('id','some_id');
答案 1 :(得分:0)
谢谢Chris Gutierrez。
然而,正如我所说,我需要获得默认装饰器生成的ID,如-label。但是,使用$ element-> setAttribs()是不可能的。
所以基于http://framework.zend.com/issues/browse/ZF-7125我刚刚做了以下事情: $元素 - > clearDecorators(); $ element-> setAttrib('id','some_id'); $元素 - > addDecorator( “视图助手”);
无论谁看到这个:请注意这对我需要的东西来说已经足够了。但可能不适合你(默认设置不仅仅是viewHelper装饰器)。