Kurzanleitung zum Verwenden eigener Mail-Templates für die form-Extension unter Typo3 8 LTS.
Möchte man ein eigenes Mail-Template für die schöne Form-Extension von Typo3 anlegen, helfen ein paar Zeilen Typoscript zusammen mit einer eigenen yaml-Konfiguration.
1. Per TS-Setup einen neuen Pfad für das yaml-setup definieren:
plugin.tx_form { settings { yamlConfigurations { 100 = fileadmin/templates/extensions/formframework/setup.yaml } } }
2. In der Yaml-Datei (setup.yaml) den Pfad zum Template überschreiben:
TYPO3:
CMS:
Form:
mixins:
finishersEmailMixin:
options:
templatePathAndFilename: 'fileadmin/templates/extensions/formframework/Email/{@format}.html'
3. Template-Datei (hier: fileadmin/templates/extensions/formframework/Email/Html.html) anlegen:
{namespace formvh=TYPO3\CMS\Form\ViewHelpers} <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta name="format-detection" content="telephone=no"> </head> <body> <table width="600" cellpadding="0" cellspacing="0" border="0"> <formvh:renderAllFormValues renderable="{form.formDefinition}" as="formValue"> <tr> <td width="600" valign="top" align="left">{formvh:translateElementProperty(element: formValue.element, property: 'label')}</td> <td width="600" valign="top" align="left"> <f:if condition="{formValue.value}"> <f:then> <f:if condition="{formValue.isMultiValue}"> <f:then> <table cellspacing="0" border="0"> <f:for each="{formValue.processedValue}" as="value"> <tr> <td>{value}</td> </tr> </f:for> </table> </f:then> <f:else> <table cellspacing="0" border="0"> <tr> <td>{formValue.processedValue}</td> </tr> </table> </f:else> </f:if> </f:then> <f:else> - </f:else> </f:if> </td> </tr> </formvh:renderAllFormValues> </table> </body> </html>