我在liferay 6.2中创建了一个内容审批者工作流程。我想显示电子邮件主题中模板标记中使用的用户名和其他变量值。
我添加了描述标签以显示电子邮件主题,但是当我尝试使用变量时,它将变量显示为字符串而不是其值。
以下是我的模板
<actions>
<notification>
<name>Review Notification</name>
<description><![CDATA[${userName}]]> test sent you a <![CDATA[${entryType}]]> for review in the workflow.</description>
<template>${userName} sent you a ${entryType} for review in the workflow.</template>
<template-language>freemarker</template-language>
<notification-type>email</notification-type>
<notification-type>user-notification</notification-type>
<execution-type>onAssignment</execution-type>
</notification>
<notification>
<name>Review Completion Notification</name>
<description>Your submission has been reviewed and the reviewer has applied the following ${taskComments}.</description>
<template>Your submission has been reviewed and the reviewer has applied the following ${taskComments}.</template>
<template-language>freemarker</template-language>
<notification-type>email</notification-type>
<recipients>
<user/>
</recipients>
<execution-type>onExit</execution-type>
</notification>
</actions>
在描述标签中,我使用了变量$ {username}和$ {entryType},而是显示
“测试向您发送了一个Web内容文章,以便在工作流程中进行审核。”
显示: “$ {userName}向您发送了$ {entryType}以供审核。”
但是在电子邮件正文中,它显示得很好。任何帮助
答案 0 :(得分:1)
不幸的是,假设您没有对原始Liferay源进行任何修改,则无法将任何变量传递到此部分。
String notificationMessage = notificationMessageGenerator.generateMessage(kaleoNotification.getKaleoClassName(), kaleoNotification.getKaleoClassPK(), kaleoNotification.getName(), kaleoNotification.getTemplateLanguage(), kaleoNotification.getTemplate(), executionContext);
String notificationSubject = kaleoNotification.getDescription();
以上这些行负责创建消息。正如您所见,notificationMessage是使用executionContext和其他一些参数创建的,这些参数存储上下文变量,最后用实际值替换您的令牌变量。描述只是简单的字符串向前传递,所以在这种情况下没有这样的替换。