1

我在http://symfony.com/doc/current/cookbook/form/create_form_type_extension.html上阅读了表单类型扩展的文档

表单类型扩展有 2 个主要用例:
您想为多种类型添加通用功能(例如为每种字段类型添加“帮助”文本);
您希望将特定功能添加到单个类型(例如将“下载”功能添加到“文件”字段类型)。

我读了这一章,但最后我问我,如何控制哪个字段类型得到哪个扩展?

在示例中,扩展名必须与应扩展的字段类型匹配。因此,扩展名将应用于具有给定名称的每个字段。

但是如何编写一个扩展并将其用于不同的字段类型(具有不同的名称)?或者我怎样才能只将扩展名用于一个特定的领域?

我看不出有任何理由使用扩展,而是扩展字段类型

//edit
我想做的是为某些表单字段添加ajax自动完成功能(不要使用捆绑包,为了更好地理解,我自己编码时)。我阅读并成功地尝试了模型转换器部分,但我在其他方面遇到了问题。例如,我想为表单字段做自定义 JavaScript 和样式。

而且我知道如何自定义表单字段(覆盖块、主题)。但是如何将特定表单字段的 JavaScript 代码放入 HTML 头部并访问生成的输入元素的 HTML id?并且还可以从 JavaScript 访问在构建表单时作为参数传递的选项

$builder->add('field', 'custom_type', array('opt1' => true, 'opt2' => 'foo'));
4

0 回答 0