【发布时间】:2012-09-28 12:31:05
【问题描述】:
我是 symfony 框架的新手。我已经在一个已经存在的项目上工作过,所以我想要改变 使用 symfony 1.2 将选择框放入文本框。
【问题讨论】:
标签: php symfony-1.2
我是 symfony 框架的新手。我已经在一个已经存在的项目上工作过,所以我想要改变 使用 symfony 1.2 将选择框放入文本框。
【问题讨论】:
标签: php symfony-1.2
更多信息和代码 sn-ps 会有所帮助,但是..
有几个地方可以做到这一点,我会选择最直接和最常见的两个。
1)
您的表单已经过定制,可能会存在于plugins/yourPlugin/lib/form/yourForm.class.php
这里会有$this->setWidget('my_input', new sfWidgetChoice(array([...])));之类的东西
可能有许多“选择”小部件(如果它们来自数据库,则为 Doctrine 或 Propel)
您需要将其更改为$this->setWidget('my_input', new sfWidgetFormInput());
2) 你的表单之前没有被修改过,是生成的表单
您需要进入您的actions.class.php(或components.class.php)并找到上面写着$this->form = new yourForm();的位置
在plugins/yourPlugin/lib/form 中创建一个新表单,并使其扩展您之前的表单。
class yourNewForm extends yourForm
然后添加
public function setup()
{
$this->setWidget('my_input', new sfWidgetFormInput());
}
您可能还必须更新验证器,否则它将需要“选择框”格式的数据。
【讨论】: