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

时间:2018-03-12 13:38:52

标签: forms typo3

使用表单模块生成表单时,相应的yaml文件存储在fileadmin / user_upload中。

现在我想将这些yaml文件集成到我的sitepackage中,从而整合到我的CVS中。他们的正确位置在哪里?在示例扩展中,它们存储在Resources/...中,而我认为它们必须进入Configuration/Yaml

如何配置表单扩展以在该位置搜索它们?

2 个答案:

答案 0 :(得分:1)

虽然它基本上是一个品味问题,完全一个人保存了他的表单定义,但我尝试将表单配置表单定义分开

来自官方文件:

  

[...] 表单配置允许您定义:

     
      
  • 提供了元素,修整器和验证器,
  •   
  • 如何预先配置这些对象,
  •   
  • 这些对象将如何在前端和后端显示。
  •   
     

相比之下,表单定义描述了特定的表单,   包括

     
      
  • 所有表单元素及其相应的验证器,
  •   
  • 表单中表单元素的顺序和
  •   
  • 表格提交后立即解雇的终结者。
  •   
  • 此外,它定义了上述方面的每个属性的具体值。
  •   

因此,为了更加清晰,我将所有表单配置保存在Configuration/Yaml/下的sitepackage和Resources/Private/Forms下的表单定义中,与模板相邻。

wrote a full tutorial如何使用自定义模板和EXT:表单,其中还包含您问题的答案。

简而言之:

在扩展根文件夹中使用TypoScript注册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 {>> 1}}内的TypoScript会在安装您的分机后直接自动加载到TYPO3安装的前端和后端。这与其他必须手动包含的TypoScript文件不同,例如作为静态模板。请参阅official Form Framework documentation

答案 1 :(得分:0)

我建议Resources/Private/Forms表单定义。表单扩展名阐明了如何register additional form definition paths