infinite-networks / form-bundle
一组对 Symfony 有用的表单类型和扩展
Requires
- php: >=8.0
- ext-json: *
- doctrine/common: ^2.3 || ^3.0
- symfony/form: ^4.0 || ^5.0 || ^6.0 || ^7.0
- symfony/framework-bundle: ^4.0 || ^5.0 || ^6.0 || ^7.0
- twig/twig: ^2.7 || ^3.0
Requires (Dev)
- doctrine/annotations: ^2.0
- doctrine/doctrine-bundle: ^2.0
- doctrine/orm: ^2.3
- phpunit/phpunit: ^7.0 || ^8.0 || ^9.0
- symfony/mime: ^4.0 || ^5.0 || ^6.0 || ^7.0
- symfony/phpunit-bridge: ^4.0 || ^5.0 || ^6.0 || ^7.0
README
一组对 Symfony 有用的表单类型和扩展。
查看表单演示项目以获取工作示例。
安装
安装说明在此处可找到。
PolyCollection
PolyCollection 表单类型允许您在具有多态对象结构(如 Doctrine2 的单一或多表继承)的关系属性上创建一个集合类型。
例如,如果您有一个与使用 Doctrine 继承的实体(InvoiceLine)相关联的发票实体,并且您想根据您想要计费的内容定义多个 InvoiceLine 类型(如 InvoiceProductLine、InvoiceShippingLine 和 InvoiceDiscountLine),则可以使用此表单类型来实现支持同一集合内所有 4 种类型的 InvoiceLine 的表单集合。
有关更多信息,请参阅PolyCollection 文档。
集合助手
InfiniteFormBundle 提供了一些用于处理表单集合的辅助 JavaScript。它支持标准的 Symfony2 集合类型以及此包提供的 PolyCollection 类型。
有关更多信息,请参阅集合助手文档。
复选框网格
CheckboxGrid 表单类型允许通过复选框网格编辑多对多关系。它对 Doctrine 实体有方便的快捷方式,但也可以用于常规对象的数组。
例如,一家公司可能销售多种产品,并在不同的地区运营。任何销售人员都可以在任何地区销售任何产品组合。销售人员表单需要一个复选框表格,其中行是产品,列是地区(反之亦然!)
有关更多信息,请参阅CheckboxGrid 文档。
实体搜索
EntitySearchType 是 Symfony 内置 EntityType 的替代品。它不将所有实体加载到下拉列表中,而是渲染一个单文本字段,通过 AJAX 回调加载自动完成建议。
AJAX 回调未包含在内。
有关更多信息,请参阅EntitySearch 文档。
附件
AttachmentType 是 Symfony 内置 FileType 的替代品。
有关更多信息,请参阅Attachment 文档。
Twig 助手
InfiniteFormBundle 附带一个 Twig 扩展,用于在渲染模板时添加表单特定助手。
有关更多信息,请参阅Twig 助手。