针对结果的Sitecore个性化

时间:2017-03-03 14:55:48

标签: asp.net-mvc sitecore personalization

我试图显示一个依赖于Sitecore结果的组件。我已经确认此结果已被触发并提供给联系人。

Sitecore outcome history

现在我设置了一个规则来显示或隐藏依赖于此结果的组件。 Sitecore rule engine

规则永远不会过去。如果我将规则更改为正在查看的特定页面,它可以正常工作。将其更改回结果规则会导致它始终失败。

我做错了吗?我有完整的体验平台。

编辑: 我使用的是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是否匹配,他们是否匹配。

1 个答案:

答案 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)保存并发布该项目。