2. 模板定义
本节我们将创建通知预订人的消息模板,包括主题和正文。
创建主题模板
在应用程序内打开 Message Templates 视图。点击 Create 按钮开始创建一个新的模板。
配置以下属性:
-
Name:
Booking Email Subject -
Code:
booking-email-subject。这个编码后续在代码中用于标识该模板。 -
Type:Plain text
-
Content:在编辑器输入模板内容:
Booking confirmation for ${booking.title}
保存模板
主题模板参数
在 Parameters tab,添加模板需要使用的参数。
按以下内容配置 booking 参数:
-
Name:
Booking -
Alias:
booking -
Type:
Entity -
Entity:
Booking -
Default value:留空
参数配置完成后,运行 Preview。预览程序会使用这些值渲染模板,可以在模板正式使用前发现遗漏的参数。
| 当发送邮件时,应用程序会在代码中为模板提供参数值,如 在电子邮件中使用消息模板 中所述。 |
创建正文模板
下一步,为消息正文创建模板。点击 Create,并配置:
-
Name:
Booking Email Body。 -
Code:
booking-email-body。这个编码后续在代码中用于标识该模板。 -
Type:HTML
-
Content:用编辑器创建模板,或直接使用下面的源码。
查看源码
<body> <div style="box-sizing: border-box; max-width: 600px; margin: 32px auto; background: #ffffff; border-radius: 10px; overflow: hidden; border: 1px solid #e5e7eb;"> <div style="box-sizing: border-box; background: #2563eb; color: #ffffff; padding: 24px;"> <h2 style="box-sizing: border-box; margin: 0; border: 0px solid white; color: black;"> <span style="box-sizing: border-box; border: 0px solid #fef9f9; color: #fdfdfd;">Booking confirmed</span> </h2> </div> <div style="box-sizing: border-box; padding: 24px;"> <p style="box-sizing: border-box;"> Hello ${booking.creator.firstName!"Guest"}, </p> <p style="box-sizing: border-box;"> Your booking for <strong style="box-sizing: border-box;">${booking.title!"booking"}</strong> was successful. </p> <div style="box-sizing: border-box; background: #f9fafb; border: 1px solid #e5e7eb; border-radius: 8px; padding: 16px; margin: 20px 0;"> <p style="box-sizing: border-box; margin: 0 0 8px;"> <strong style="box-sizing: border-box;">Start:</strong> ${booking.startDate?datetime("yyyy-MM-dd'T'HH:mm")?string.medium} </p> <p style="box-sizing: border-box; margin: 0 0 8px;"> <strong style="box-sizing: border-box;">End:</strong> ${booking.endDate?datetime("yyyy-MM-dd'T'HH:mm")?string.medium} </p> <p style="box-sizing: border-box; margin: 0;"> <strong style="box-sizing: border-box;">Booking date:</strong> ${today?date?string.medium} </p> </div> <p style="box-sizing: border-box;"> Have a nice day, </p> <p style="box-sizing: border-box;"> <strong style="box-sizing: border-box;">Developer team</strong><br style="box-sizing: border-box;"> <a href="https://www.jmix.io" style="box-sizing: border-box; color: #2563eb;">www.jmix.io</a> </p> </div> </div> </body>
保存模板。
正文模板参数
在 Parameters tab,添加模板使用的参数。
第一个参数是 booking。由于已经在前一节创建了 Booking 实体,所以按如下配置:
-
Name:
Booking -
Alias:
booking -
Type:
Entity -
Entity:
Booking -
Default value:选择一个
Booking实例
第二个参数是 today,按如下配置:
-
Name:
Today -
Alias:
today -
Type:
Date and time -
勾选 Default date is current 复选框。
参数配置完成后,运行 Preview。预览程序会使用这些值渲染模板,可以在模板正式使用前发现遗漏的参数。
| 当发送邮件时,应用程序会在代码中为模板提供参数值,如 在电子邮件中使用消息模板 中所述。 |