TYPO3 8 LTS también introdujo una extensión de formulario completamente revisada. Esto ahora hace que sea muy fácil crear formularios más complejos en el backend.
Las configuraciones de estos formularios se guardan en un archivo de configuración separado en formato YAML para cada formulario. Esto significa que estos archivos pueden ser fácilmente copiados y reutilizados en otros proyectos TYPO3. Ahora también es posible utilizar sistemas de versionado como Git para las definiciones de formularios.
Por defecto, las definiciones de formulario se guardan en la carpeta fileadmin/user_upload/ .
Sin embargo, esto se puede cambiar fácilmente, por ejemplo, utilizando un directorio separado debajo de fileadmin/ o en una extensión separada.
Las ubicaciones de almacenamiento se definen mediante el parámetro allowedFileMounts en el archivo EXT:form/Configuration/Yaml/BaseSetup.yaml. La parte relevante de este archivo tiene el siguiente aspecto:
El archivo completo puede consultarse en el repositorio Git.
En la línea 6, la ubicación de almacenamiento nº 1 (= fileadmin) y el directorio user_upload/ en ella se definen como objeto 10.
Ahora es relativamente fácil añadir otros directorios.
Para ello, cree un archivo en cualquier ubicación, por ejemplo, esto podría sermyFormSetup.yaml
Puede crear este archivo debajo de fileadmin/ o dentro de un directorio de extensión si está utilizando su propia extensión de plantilla, por ejemplo.
Sin embargo, sólo escriba las líneas necesarias que desea sobrescribir de BaseSetup.yaml en este archivo.
Si desea utilizar una carpeta debajo de fileadmin/ (ejemplo):
Al crear un nuevo formulario, puede seleccionar dónde debe guardarse la configuración de este formulario.
Si desea eliminar la definición estándar user_upload/, utilice 10 en lugar de 20 en myFormSetup.yaml.
Por supuesto, la carpeta (myForms/ en el ejemplo) debe existir.
Si está utilizando una extensión, puede utilizar los parámetros allowSaveToExtensionPaths y allowDeleteFromExtensionPaths para permitir (true) a los usuarios del backend editar o borrar los formularios dentro de una extensión. Por defecto, los parámetros están en false.
plugin.tx_form.settings.yamlConfigurations.100 = ruta/a/miFormSetup.yaml
module.tx_form.settings.yamlConfigurations.100 = ruta/a/miFormSetup.yaml
## Por supuesto, la ruta a una extensión también podría especificarse aquí:
## plugin.tx_form.settings.yamlConfigurations.100 = EXT:myExtension/Resources/Private/myForms/myFormSetup.yaml
## module.tx_form.settings.yamlConfigurations.100 = EXT:myExtension/Resources/Private/myForms/myFormSetup.yaml