我在 config.ini 文件中有以下内容:(Zend_Form_Element)
site_status.name = "site_status"
site_status.type = "select"
site_status.label = "Status"
site_status.options.multiOptions.active.key = "Active"
site_status.options.multiOptions.active.value = "Active"
site_status.options.multiOptions.active.key = "Inactive"
site_status.options.multiOptions.active.value = "Inactive"
如您所见,这应该是一个下拉(选择)框,但它被呈现为标准文本框。我究竟做错了什么?
--> 编辑
我没有将元素绑定到表单,而是尝试将它们绑定到数据库:在我的代码中,它看起来像这样:
[{tablename}] // the table name would represent a section in the ini
{column}.name = "{column_name/form_field_id}";
{column}.type = "{form_element_type}"
{column}.label = "{form_element_label}"
...
从那里我会拉入表单将代表数据的数据库表(一个或多个表,必要时)。至于这种方法的原因是(在路上),我想定义(通过 ini 或其他一些存储方法)一个配置文件,它将是属于特定表单的字段/元素列表(非程序员类型可以轻松编辑),“通用”表单类将读取、提取元素信息并动态创建表单。
但是我确实意识到这带来了另一个我还没有弄清楚的问题,那就是如何使用表查找来选择元素(无需将查找的数据库检索编码到表单中,以便非用户可以轻松地在没有任何编程、纯粹配置的情况下定义它,但这是另一个主题,不是我的问题的一部分。(我认为无论如何我对这部分问题有可行的想法/解决方案)——额外的配置条目和通用例程差不多。
我希望这能阐明我的思维过程以及我为什么按照上面示例中的方式这样做的原因。