This plugin allows to store the mails in theme instead of database. This gives us advantages like
- easier deployment
- translate it using snippets
- build your mail template using includes / extends / blocks / inheritance
- usage of theme configuration
- Shopware 6.6.0 or newer
- PHP 8.2
- Download latest release
- Extract the zip file in
shopware_folder/custom/plugins/
Create a mail for a specific subshop or language shop (also inheritance in shops works)
Search order in example with sOrder:
custom/plugins/FroshPlatformTemplateMail/src/Resources/views/email/global/order_transaction.state.paid/html.twig
-
HTML Template
- custom/plugins/MyTheme/src/Resources/views/email/[en-GB]/order_transaction.state.paid/html.twig (Language Locale)
- custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/html.twig (Saleschannel ID)
- custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/html.twig (Language ID)
- custom/plugins/MyTheme/src/Resources/views/email/global/order_transaction.state.paid/html.twig (Default)
- Database saved values (for right template names search in database table "mail_template_type")
-
Text Template
- custom/plugins/MyTheme/src/Resources/views/email/[en-GB]/order_transaction.state.paid/plain.twig (Language Locale)
- custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/plain.twig (Saleschannel ID)
- custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/plain.twig (Language ID)
- custom/plugins/MyTheme/src/Resources/views/email/global/order_transaction.state.paid/plain.twig (Default)
- Database saved values (for right template names search in database table "mail_template_type")
-
Subject Template
- custom/plugins/MyTheme/src/Resources/views/email/[en-GB]/order_transaction.state.paid/subject.twig (Language Code)
- custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/subject.twig (Saleschannel ID)
- custom/plugins/MyTheme/src/Resources/views/email/[ID]/order_transaction.state.paid/subject.twig (Language ID)
- custom/plugins/MyTheme/src/Resources/views/email/global/order_transaction.state.paid/subject.twig (Default)
- Database saved values (for right template names search in database table "mail_template_type")
-
You can also nest templates. E.g.:
- custom/plugins/MyTheme/src/Resources/views/email/[ID]/[en-GB]/order_transaction.state.paid/html.twig (Saleschannel ID)/(Language Locale)
Feel free to fork and send pull requests!
This project uses the MIT License.