kanti / flux
9.1.0
2018-10-02 18:29 UTC
Requires
- php: >=7.0.0
- typo3/cms-backend: ^8.7 || ^9 || dev-master
- typo3/cms-core: ^8.7 || ^9 || dev-master
- typo3/cms-fluid: ^8.7 || ^9 || dev-master
- typo3/cms-frontend: ^8.7 || ^9 || dev-master
- typo3/cms-recordlist: ^8.7 || ^9 || dev-master
Requires (Dev)
Suggests
- fluidtypo3/fluidcontent_core: Gives the ability to render core content elements with pure fluid.
- fluidtypo3/fluidpages: Gives the ability to render Page Templates with pure fluid.
- fluidtypo3/vhs: ViewHelper library for Fluid templates.
Replaces
- flux: 9.1.0
- typo3-ter/flux: 9.1.0
- dev-customRelease
- 9.1.0
- 9.0.1
- 9.0.0
- 8.2.1
- 8.2.0
- 8.1.0
- 8.0.2
- 8.0.1
- 8.0.0
- 7.4.0
- 7.3.0
- 7.2.3
- 7.2.2
- 7.2.1
- 7.2.0
- 7.1.2
- 7.1.1
- 7.1.0
- 7.0.0
- dev-development
- dev-feature/sectionobjectasgrid
- dev-staging
- dev-feature/refactor-atoms
- dev-legacy
- dev-workbench/classconstant
- dev-workbench/package
- dev-workbench/relationsettings
This package is auto-updated.
Last update: 2022-03-07 18:28:29 UTC
README
Flux: Fluid FlexForms
Flux是TYPO3 FlexForms的替代API - 提供Fluid、PHP和TypoScript的接口
Flux允许您在Fluid中构建和修改表单
<flux:form id="myform"> <flux:field.input name="myField" label="My special field" /> </flux:form>
在PHP中
$form = \FluidTYPO3\Flux\Form::create(); $form->setName('myform'); $form->createField('Input', 'myField', 'My special field');
在纯数组中(以允许JSON等来源)
$json = '{name: "myform", fields: [{"name": "myField", "type": "Input"}]}'; $asArray = json_decode($json, JSON_OBJECT_AS_ARRAY); $form = \FluidTYPO3\Flux\Form::create($asArray);
以及在TypoScript中
plugin.tx_flux.providers {
myextension_myplugin {
tableName = tt_content
fieldName = pi_flexform
listType = myextension_myplugin
extensionKey = Vendor.MyPlugin
form {
name = myform
fields {
myField {
type = Input
label = My special field
}
}
}
}
}
所有这些都会创建同一个表单,其中包含一个名为myField
的单个输入字段,其标签值为My special field
。最后一个示例显示了嵌套在Provider(另一个Flux概念)中的form
结构,该Provider将相关的tt_content
插件记录类型的pi_flexform
字段连接到表单。
Flux功能亮点
- 为内容元素添加了新功能 - 将内容网格(遵循
backend_layout
方法)添加到任何内容/插件。 - 多个API以访问相同的功能,使用相同的命名和嵌套风格,从许多不同的上下文。
- 多个API抽象级别 - 当您需要更多控制时,可以在代码中使用较低的API抽象级别。
- 灵活地替换单个部分:模板、控制器操作等。
- 操作现有表单的属性 - 改变字段标签、默认值、添加字段、工作表等。
- 数据类型转换 - 定义所需的目标类型,让Extbase的TypeConverters处理转换。
- 允许自定义组件 - 与任何其他Flux组件相同的API支持。
- 特别为与Fluid高级集成提供几个Utility类型类。
已知问题
- 请注意,确保您的PHP/HTTP配置正确,以接受相当大数量的输入字段。当嵌套部分/对象时,提交的字段数量会急剧增加。要考虑的
php.ini
配置设置是max_input_vars
。如果此数字太小,则TYPO3后端(作为PHP)将拒绝提交后端编辑表单,并以“无效的CSRF令牌”消息退出,因为POST
数据不完整(截断)。