在此示例中,我们希望向将包含用户档案名称的操作员发送警报,这些操作员打开了新闻稿,但未单击新闻稿中包含的链接。
用户档案的名字和姓氏字段链接到Recipients定位维度,而Alert活动链接到Operator定位维度。 因此,两个定位维度之间没有可用的字段来执行协调并检索名字和姓字段,并在警报活动中显示它们。
该过程是构建一个工作流,如下所示:
将以下代码添加到JavaScript code活动。
var query = xtk.queryDef.create(
<queryDef schema="temp:query" operation="select">
<select>
<node expr="[target/recipient.@firstName]"/>
<node expr="[target/recipient.@lastName]"/>
</select>
</queryDef>
);
var items = query.ExecuteQuery();
确保Javascript代码与您的工作流信息相对应:
要检索这些信息,请执行以下步骤:
右键单击Query活动中的出站过渡,然后选择Display the target。
右键单击列表,然后选择Configure list。
查询定位维度和字段名称显示在列表中。
将下面的代码添加到Test活动中,以检查目标人口是否至少包含1个用户档案。
var.recCount>0
现在,已将填充添加到具有所需字段的实例变量中,您可以将这些信息添加到Alert活动。
为此,请在Source选项卡中添加以下代码:
<ul>
<%
var items = new XML(instance.vars.items)
for each (var item in items){
%>
<li><%= item.target.@firstName %> <%= item.target.@lastName %></li>
<%
} %></ul>
使用**<%= item.target.recipient.@fieldName %>命令可以添加已通过JavaScript code**活动保存到实例变量的字段之一。
只要字段已插入到JavaScript代码中,就可以添加所需数量的字段。