Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige ÜberarbeitungVorherige ÜberarbeitungNächste Überarbeitung | Vorherige ÜberarbeitungNächste ÜberarbeitungBeide Seiten, nächste Überarbeitung | ||
typo3:form [2017/07/06 18:39] – [Default-Werte überschreiben] admin | typo3:form [2017/07/10 22:45] – Finisher: SaveToDatabase und Datei-Upload admin | ||
---|---|---|---|
Zeile 97: | Zeile 97: | ||
mapOnDatabaseColumn: | mapOnDatabaseColumn: | ||
</ | </ | ||
+ | |||
+ | ==== Finisher: SaveToDatabase und Datei-Upload ==== | ||
+ | |||
+ | Wenn das Formular ein Feld des Typs // | ||
+ | |||
+ | Mit dem '' | ||
+ | * In einer eigenen Tabelle für Formular-Einträge wird die UID des // | ||
+ | * In der Tabelle // | ||
+ | |||
+ | Im TYPO3-Backend ist die hochgeladene Datei damit korrekt dem Datensatz in der eigenen Datenbanktabelle zugeordnet. | ||
+ | |||
+ | <code yaml> | ||
+ | type: Form | ||
+ | identifier: UploadForm | ||
+ | label: ' | ||
+ | prototypeName: | ||
+ | finishers: | ||
+ | - | ||
+ | identifier: SaveToDatabase | ||
+ | options: | ||
+ | - | ||
+ | table: ' | ||
+ | mode: insert | ||
+ | databaseColumnMappings: | ||
+ | pid: | ||
+ | value: 6 | ||
+ | crdate: | ||
+ | value: ' | ||
+ | tstamp: | ||
+ | value: ' | ||
+ | formtitle: | ||
+ | value: ' | ||
+ | elements: | ||
+ | fileupload: | ||
+ | mapOnDatabaseColumn: | ||
+ | - | ||
+ | table: sys_file_reference | ||
+ | mode: insert | ||
+ | elements: | ||
+ | fileupload: | ||
+ | mapOnDatabaseColumn: | ||
+ | databaseColumnMappings: | ||
+ | table_local: | ||
+ | value: ' | ||
+ | tablenames: | ||
+ | value: ' | ||
+ | fieldname: | ||
+ | value: ' | ||
+ | tstamp: | ||
+ | value: ' | ||
+ | crdate: | ||
+ | value: ' | ||
+ | uid_foreign: | ||
+ | value: ' | ||
+ | renderables: | ||
+ | - | ||
+ | type: Page | ||
+ | identifier: page-1 | ||
+ | label: Page | ||
+ | renderables: | ||
+ | - | ||
+ | properties: | ||
+ | saveToFileMount: | ||
+ | allowedMimeTypes: | ||
+ | - application/ | ||
+ | fluidAdditionalAttributes: | ||
+ | required: required | ||
+ | type: FileUpload | ||
+ | identifier: fileupload | ||
+ | label: 'Datei hochladen' | ||
+ | validators: | ||
+ | - | ||
+ | identifier: NotEmpty | ||
+ | </ | ||
+ | |||
+ | Der Ruhm hierfür gilt **Olaf Schmidt-Wischhöfer**; | ||
---- | ---- | ||
Zeile 211: | Zeile 287: | ||
===== Templating ===== | ===== Templating ===== | ||
+ | ==== templateRootPaths für Formulare einrichten ==== | ||
+ | |||
+ | <code yaml> | ||
+ | TYPO3: | ||
+ | CMS: | ||
+ | Form: | ||
+ | prototypes: | ||
+ | myCustomForm: | ||
+ | __inheritances: | ||
+ | 10: ' | ||
+ | formElementsDefinition: | ||
+ | Form: | ||
+ | renderingOptions: | ||
+ | templateRootPaths: | ||
+ | 100: ' | ||
+ | partialRootPaths: | ||
+ | 100: ' | ||
+ | layoutRootPaths: | ||
+ | 100: ' | ||
+ | </ | ||
+ | |||
+ | ==== Eigene Templates für E-Mails ==== | ||
+ | |||
+ | Aktuell ist das Form Framework so eingerichtet, | ||
+ | |||
+ | Bis dies behoben ist, können alternative Templates direkt im Finisher des Formulars verknüpft werden. | ||
+ | |||
+ | **ContactForm.yaml** | ||
+ | <code yaml> | ||
+ | finishers: | ||
+ | - | ||
+ | identifier: EmailToSender | ||
+ | options: | ||
+ | subject: ' | ||
+ | recipientAddress: | ||
+ | recipientName: | ||
+ | senderAddress: | ||
+ | senderName: '' | ||
+ | replyToAddress: | ||
+ | carbonCopyAddress: | ||
+ | blindCarbonCopyAddress: | ||
+ | format: html | ||
+ | attachUploads: | ||
+ | templatePathAndFilename: | ||
+ | </ | ||
+ | Forge: [[https:// |