2011-08-20 32 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(..))
相關問題