2011-08-20 39 views
1

目前我加载从ini文件看起来像这样作为一个例子表单元素定义:的Zend_Form_Element从Zend_Config_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配置,或者必须在创建元素时在表单类内完成?

+1

有在更新config_ini对象没有问题multiOptions。不过,没有像自动这样的东西。这将取决于您使用数据库中的信息更新对象。 –

+0

是啊,我越看越多,我意识到为选择框创建选项的唯一方法是通过表单类本身内的代码。我只是希望能够通过配置文件将数据库查找表链接到下拉框。感谢您的回应。 –

回答

0

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

可能的方式来做到这一点:

  1. 创建您自己的智能选择元素,它具有建立在此基础上你在ini文件中提供了一些选项值multiOptions列表的能力。
  2. 或在创建表单实例之前,将multiOptions值注入Zend_Config文件。
  3. 或者,你所创建的窗体实例后,设置使用$form->getElement('name')->setMultiOptions(array(..))
相关问题