Zend_Config_Ini中的Zend_Form_Element

时间:2011-08-20 20:12:06

标签: forms zend-framework zend-db zend-form-element

目前我正在从一个看起来像这样的ini文件中加载表单元素定义:

[tickets] ; tablename
ticket_number.name = "ticket_number"
ticket_number.type = "text"
ticket_number.label = "Ticket ID: "
ticket_number.options.validators.alnum.validator = "alnum"
ticket_number.options.validators.strlen.validator = "StringLength"
ticket_number.options.validators.strlen.options.min = "6"
ticket_number.options.validators.strlen.options.max = "20"

assigned_date.name = "assigned_date"
assigned_date.type = "text"
assigned_date.label = "Entered Date: "

现在假设我有一个表单元素(选择/下拉框),我想从数据库(查找表)加载选项,有没有办法在表单元素ini config中自动配置它,或者是必须在创建元素时在表单类中完成?

1 个答案:

答案 0 :(得分:0)

嗯,有办法做到这一点,问题是你是否真的想要这样做。

可能的方法:

  1. 创建您自己的智能选择元素,该元素可以根据您在ini文件中提供的某些选项值构建multiOptions列表。
  2. 或者,在创建表单实例之前,将multiOptions值注入Zend_Config文件。
  3. 或者,在创建表单实例后,使用$form->getElement('name')->setMultiOptions(array(..))
  4. 设置multiOptions