我试图显示一个依赖于Sitecore结果的组件。我已经确认此结果已被触发并提供给联系人。
规则永远不会过去。如果我将规则更改为正在查看的特定页面,它可以正常工作。将其更改回结果规则会导致它始终失败。
我做错了吗?我有完整的体验平台。
编辑: 我使用的是Sitecore 8.0
注册代码:
if (Tracker.Current == null)
return false;
ID group = GroupOutcomes[groupId]; //array of item ids for the outcomes
if (Tracker.Current.HasOutcome(group))
return false;
ID id = ID.NewID;
ID interactionId = ID.Parse(Tracker.Current.Interaction.InteractionId);
ID contactId = ID.Parse(Tracker.Current.Contact.ContactId);
var finalGroup = new ContactOutcome(id, group, contactId)
{
DateTime = DateTime.UtcNow.Date,
MonetaryValue = 0,
InteractionId = interactionId
};
Tracker.Current.RegisterContactOutcome(finalGroup);
我看到结果正在给予联系人,我实际上在页面加载上显示联系人结果,以查看定义ID是否匹配,他们是否匹配。
答案 0 :(得分:1)
如果有人遇到类似问题,请回答此问题。
这是Sitecore 8.0中的一个错误。以下是我在Sitecore的帮助下解决问题的方法
<强>解决方案:强>
1)导航到&#34; / sitecore / system /设置/规则/定义/元素/结果/联系人在任何交互期间已注册结果&#34; item并更改其Text字段,如下所示: 当前联系人在任何交互过程中注册了[OutcomeDefinition,Tree,root = / sitecore / system / Marketing Control Panel / Outcomes,results]
2)保存并发布该项目。
3)导航到&#34; / sitecore / system /设置/规则/定义/元素/结果/联系人在任何与价值互动期间的注册结果&#34; item并更改其Text字段,如下所示: 当前联系人在货币价值[operatorid,Operator ,,比较] [value,Decimal ,, value]的任何交互期间注册了[OutcomeDefinition,Tree,root = / sitecore / system / Marketing Control Panel / Outcomes,results]
4)保存并发布该项目。