Dojo 表单元素和装饰器
建立在 dijit 视图助手 之上的
Zend_Dojo_Form 类家族在你的表单里自然地使用 Dijits。
有三个选项用来在你的表单里使用 Dojo 表单元素:
用 Zend_Dojo::enableForm(). 递归地为装饰器和所有表单的元素添加插件路径。
另外,它将 dojo-enable 视图对象。然而注意,任何在这个调用 之后 附加
的子表单也需要用 Zend_Dojo::enableForm()。
分别使用 Dojo-specific 表单Zend_Dojo_Form和子表单 Zend_Dojo_Form_SubForm实现。
这些可以做为 Zend_Form 和 Zend_Form_SubForm的随时替换,包含所有合适的装饰器
和元素路径,设置一个 Dojo-specific 缺省的显示组类并 dojo-enable 视图。
最后并且是最单调的是,你可以自己设置合适的装饰器和元素路径,设置缺省显示组类
并 dojo-enable 视图。因为 Zend_Dojo::enableForm() 已经做了这个,
有个小原因需要这样做。
在你的表单里开启 Dojo
“等等” 你会说,“我已经用我自己定制的表单类扩展了 Zend_form!怎么 Dojo-enable 它?”
首先而且是最简单的是,修改从 Zend_Form 扩展为从 Zend_Dojo_Form 扩展,
并更新任何实例化 Zend_Form_SubForm 的地方为实例化 Zend_Dojo_Form_SubForm。
第二个方法是在定制表单的 init() 方法里调用 Zend_Dojo::enableForm();
当表单定义完成,遍历所有子表单来 dojo-enable 它们:
getSubForms() as $subForm) {
Zend_Dojo::enableForm($subForm);
}
}
}
]]>
dijit-specific 表单装饰器和元素的用法和使用任何其它表单装饰漆或元素一样。