当使用表单模块生成表单时,相应的yaml文件存储在fileadmin/user_upload中。
现在我想将这些 yaml 文件集成到我的站点包中,从而集成到我的 CVS 中。他们在哪里正确?在示例扩展中,它们存储在Resources/...
中,而我认为它们必须进入Configuration/Yaml
如何配置表单扩展以在该位置搜索它们?
虽然保存表单定义的位置基本上是一个品味问题,但我尝试将表单配置和表单定义分开。
来自官方文档:
[...]表单配置允许您定义:
- 哪些表单元素、整理器和验证器可用,
- 这些对象是如何预先配置的,
- 这些对象在前端和后端中的显示方式。
相反,表单定义描述了特定的表单, 包括
- 所有表单元素及其相应的验证器,
- 表单中表单元素的顺序,以及
提交- 表格后立即被解雇的完成者。
- 此外,它定义了上述方面的每个属性的具体价值。
因此,为了更清楚起见,我将所有表单配置保存在Configuration/Yaml/
下的 sitepackage 中,并将表单定义保存在Resources/Private/Forms
下,与模板相邻。
我写了一个完整的教程,如何在EXT:form中使用自定义模板,其中还包括您问题的答案。
总之:
将 YAML 配置与扩展根文件夹中的拼写错误脚本注册为 ext_typoscript_setup.txt(建议使用1)
plugin.tx_form.settings.yamlConfigurations {
100 = EXT:my_extension/Configuration/Yaml/CustomFormSetup.yaml
}
module.tx_form.settings.yamlConfigurations {
100 = EXT:my_extension/Configuration/Yaml/CustomFormSetup.yaml
}
CustomFormSetup.yaml – 设置新的存储路径
TYPO3:
CMS:
Form:
persistenceManager:
allowedExtensionPaths:
10: EXT:my_extension/Resources/Private/Forms/
allowSaveToExtensionPaths: true
allowDeleteFromExtensionPaths: true
1安装扩展后,ext_typoscript_setup.txt
中的 TypoScript 会自动加载到 TYPO3 安装的前端和后端。这与其他TypoScript文件不同,后者必须手动包含,例如作为静态模板。请参阅官方表单框架文档。
我建议为您的表单定义Resources/Private/Forms
。表单扩展阐明了如何注册其他表单定义路径。