This guide provides instructions on how customers or partners can override the standard ICM-AS e-mail templates in a customization. Overriding default e-mail templates in ICM-AS is straightforward, and this guide provides all the necessary information and sources of the default template files.
The template sources are not delivered with the ICM-AS Docker images. To facilitate customization, two file bundles containing all the template sources are attached here. Please download and extract these archives to access the template files:
app_sf_headless_emails_b2b.zip (B2B-specific extensions and overrides)
app_sf_headless_emails.zip (standard templates and common template includes)
Review the email templates available in ICM-AS and identify the one you want to customize. The template files are organized thematically in their respective folders.
To overwrite an existing template, the name and location must match. Use the same directory structure within the customization cartridge as in the sources.
If the customization cartridge for the new e-mail templates is named my_customization_emails
, all the templates must be located below the base folder my_customization_emails/src/main/isml/my_customization_emails
.
The template app_sf_headless_emails/default/email/order/OrderEMailNotification.isml
can therefore be overwritten with the template my_customization_emails/src/main/isml/my_customization_emails/default/email/order/OrderEMailNotification.isml
in the customization.
To compile the customized ISML e-mail template files and make them available in the customization Docker image, it is essential to include the ISML Gradle plugin in your build file.
// build.gradle.kts example plugins { id("com.intershop.gradle.isml") // other plugins } description = "Customization - headless REST customized e-mails" dependencies { cartridge("com.intershop.platform:core") cartridge("com.intershop.platform:isml") // other required dependencies }
Also, make sure that the cartridge containing your customized templates is in your application's cartridge list. This step is critical for the new templates to effectively override the existing ones.
<!-- apps.component example --> <?xml version="1.0" encoding="UTF-8"?> <components xmlns="http://www.intershop.de/component/2010"> <fulfill requirement="selectedCartridge" of="intershop.REST.Cartridges" value="my_customization_emails"/> <!-- other cartridge registrations --> </components>