Sitecore个性化 - 上一页

时间:2016-09-14 10:08:20

标签: sitecore sitecore8

网站上有这些页面 - Home,Product1,Product2和Home页面都有横幅。

当用户的旅程是 - Home>产品1>主页,横幅应显示image1。

当用户的旅程是 - Home&gt; <产品2>首页,横幅应显示image2。

用户访问时 - 主页&gt; <产品2>产品1&gt;主页,横幅应显示image1。

..这意味着,我想在 Home 之前根据上次访问过的页面显示图像。

在规则集编辑器中,我设置了3条规则:
1.访问期间的特定页面为“product1”,则图像为image1 2.访问期间的特定页面是“product2”,那么图像将是image2 3.默认 - 隐藏横幅

这不符合要求。如果用户首先访问product1,那么它总是在横幅中的image1。我理解它按照规则运作,因为规则1在这里总是会成真。

但是,我怎样才能实现我的需要。

1 个答案:

答案 0 :(得分:4)

您必须为此创建自定义条件。 lots of blogposts如何做到这一点,所以我不会专注于此。

您的情况可能类似于where previous page is specific page

然后在您的情况下,您将传入一个ID(其中显示specific page)。然后你可以在以下条件下做这样的事情:

var pagesVisited = Sitecore.Analytics.Tracker.Current.Interaction.GetPages().ToList();
return pagesVisited.Last().Item.Id == Guid.Parse(id); // id is the item you've selected in the Rule Editor

(请注意,我还没有对代码进行过测试,但它应该与此类似。您可能还希望对其进行一些性能测试。)