TYPO3 8,表单扩展 - 自定义 yaml 文件的最佳实践



当使用表单模块生成表单时,相应的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。表单扩展阐明了如何注册其他表单定义路径。

最新更新