- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经在数据列表文件夹上应用了规则,就像在每个项目创建上一样,它应该向相应的人发送一封电子邮件。
下面是相同的脚本:
function main()
{
var site = siteService.getSite("hardik-test");
var dataListsContainer = site.getContainer("datalists");
var dataLists = dataListsContainer.getChildren();
var fullName, manager,joiningDate;
for(var x=0;x<dataLists.length;x++)
{
var dataList = dataLists[x];
var props = dataList.getProperties();
var title = props["cm:title"];
if(title.equals("Employee"))
{
var dataListItems = dataList.getChildren();
for (var y = 0; y < dataListItems.length; y++)
{
var dataListItem = dataListItems[dataListItems.length-1];
var dataListItemProps = dataListItem.getProperties();
fullName = dataListItemProps["emp:fullName"];
manager = dataListItemProps["emp:manager"];
joiningDate = dataListItemProps["emp:joiningDate"];
}
}
}
// create mail action
var mail = actions.create("mail");
mail.parameters.to = "xyz@xyz.com"; //manager email id should be there
mail.parameters.subject = "Task assigned to you.";
mail.parameters.from = "xyz@xyz.com";
//mail.parameters.template = companyhome.childByNamePath("Data Dictionary/Email Templates/Notify Email Templates/notify_user_email.html.ftl");
mail.parameters.text = "Hi "+manager +"," + "\n A new employee " +fullName +" will be joining our team on "+ joiningDate + "." +
"\n For details, Please click here. \n Regards, \n Administrator" ;
mail.execute(document);
}
每次我们创建新项目时都会运行脚本,但在电子邮件中它不会获取我们输入的最新数据。
如果我们想使用电子邮件模板,那么我们如何将参数(自定义值)传递给电子邮件模板?
想要创建重定向到数据列表的链接。
最佳答案
这是 Alfresco 来源可以提供指导的众多情况之一。如果您查看 MailActionExecuter 类,您会发现它定义了几个参数:
public static final String NAME = "mail";
public static final String PARAM_LOCALE = "locale";
public static final String PARAM_TO = "to";
public static final String PARAM_CC = "cc";
public static final String PARAM_BCC = "bcc";
public static final String PARAM_TO_MANY = "to_many";
public static final String PARAM_SUBJECT = "subject";
public static final String PARAM_SUBJECT_PARAMS = "subjectParams";
public static final String PARAM_TEXT = "text";
public static final String PARAM_HTML = "html";
public static final String PARAM_FROM = "from";
public static final String PARAM_FROM_PERSONAL_NAME = "fromPersonalName";
public static final String PARAM_TEMPLATE = "template";
public static final String PARAM_TEMPLATE_MODEL = "template_model";
public static final String PARAM_IGNORE_SEND_FAILURE = "ignore_send_failure";
public static final String PARAM_SEND_AFTER_COMMIT = "send_after_commit";
其中之一是 PARAM_TEMPLATE_MODEL,您可以使用“template_model”来设置它。该参数中的“模型”应该引起您的注意。这意味着您可以使用该参数传入一组键和值。
稍后,在该类的源代码中,我们看到参数在哪里读取,然后用于构建完整的模型,然后将其传递到 Freemarker 模板:
Map<String, Object> suppliedModel = null;
if(ruleAction.getParameterValue(PARAM_TEMPLATE_MODEL) != null)
{
Object m = ruleAction.getParameterValue(PARAM_TEMPLATE_MODEL);
if(m instanceof Map)
{
suppliedModel = (Map<String, Object>)m;
}
else
{
logger.warn("Skipping unsupported email template model parameters of type " + m.getClass().getName() + " : " + m.toString());
}
}
// build the email template model
Map<String, Object> model = createEmailTemplateModel(actionedUponNodeRef, suppliedModel, fromPerson, toRecipients);
因此,如果您在对模板的引用中进行评论,并向操作传递一个附加参数,假设您的模板使用您添加到模型中的项目,您应该会在生成的电子邮件中看到这些项目。
你的代码看起来像这样:
var templateModel = {};
templateModel["fullName"] = fullName;
templateModel["manager"] = manager;
templateModel["joiningDate"] = joiningDate;
mail.parameters.template_model = templateModel;
关于javascript - Alfresco datalist 发送关于全新项目创建的电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58340012/
我正在尝试为模板中循环内的循环创建一个带有子 DataList 的 DataList: public function getAllCategoriesAndEntrys(){ $catego
griview优点:功能最强大,提供分页,编辑,删除,选择等等很多功能,使用最方便,直接拖拽到页面上,建立新的数据源,点几下鼠标就可以维护一个表的浏览、删除和修改了,而且是分页的哦。(增加我还没搞明
我将 10 个选项传递给数据列表,这些选项在下拉列表中显示良好。但有时我会在选项列表底部获得更多由水平线分隔的选项(Chrome 可能正在缓存或重复显示某些选项)。我不明白为什么 chrome 显示这
是否可以将图像添加到数据列表选项中?我正在为我的用户构建一个搜索,我希望头像与姓名和简介一起显示在数据列表中,就像在 Twitter 或 Facebook 上一样。 $avatar变量具有指向图像的链
我在 VueJS 中使用 datalist 搜索时遇到 input 问题,为什么当我用鼠标单击或在 datalist 上的选项之一上输入时,我的函数 getData() 被调用到 @click 和 @
我正在使用 .NET aspx 进行编程。在 asp:DataList 组件中,我想均匀分布列,即使并非所有列都分配有 ItemTemplate。 例如 ... 在运行时,绑定(bind)到数
给定一个表格: console.log(document.getElementById('f').elements['a']); console.log(document.getElementById
Datalist 属性在 Google chrome 中不工作,在 Firefox 中工作正常 请看这里http://prntscr.com/arny81 提前感谢您的帮助。 HTML
我有一个如下的模板: {{i-1}} 还有一个像这样的 TS 文件: import {Component, OnInit} from '@angular/co
使用这个例子http://www.w3schools.com/tags/tag_datalist.asp- 我在浏览器中没有问题,但它似乎在打包的应用程序中不起作用。 我使用的是 Chrome v26
代码如下: PEAEWebSiteDataContext context = new PEAEWebSiteDataContext(); &nbs
如何禁用 Datalist 中的选项? London Zurich Italian Turin Milan Rome Naples French Bordeaux Lion Paris 我尝试
所有实现 IEnumerable 接口(interface)的类型都可以用于 DataList 的 DataSource。例如列表。但是我们将为 ItemTemplate 中的数据绑定(bind)表达
我正在使用以下 Javascript 函数来填充数据列表: function GetDropDownData(f) { $.ajax({ url: '/Rentals/Base
在我的数据列表选项中,有英语和韩语的值。 这是示例: (<-This value is apple in Korean) 当我尝试在输入框中使用韩文字母搜索值时,没有显示任何内容,仅以英文值工
我已经在数据列表文件夹上应用了规则,就像在每个项目创建上一样,它应该向相应的人发送一封电子邮件。 下面是相同的脚本: function main() { var site = siteServ
我有一个页面,用户可以在数据列表控件中选择不同的文档文件。使用预渲染事件处理程序根据类别对文档进行分类。文档是根据复选框控件(而不是复选框列表)选择的。到目前为止,一切都很好。接下来我想要发生的事情是
我的页面上有 DataList,用于显示来自数据库的记录。我已关注this使用 DataList 实现分页的教程。 它在第一页上显示 5 条记录,但在下一页上,数据列表加载为空。我可以通过单击“下一步
我在DataList中有一个UserControl,我根据DataList数据的PrimeryKey填充用户控件内的控件。第一次加载程序的行为符合预期,但当用户更改页面索引时,所有 MessageID
我有一个数据列表,在它的标题模板中有一个链接按钮。在我的代码隐藏文件中,我像往常一样写: ((LinkButton)(DataList1.FindControl("LinkButton1"))).En
我是一名优秀的程序员,十分优秀!