网站上有这些页面 - 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在这里总是会成真。
但是,我怎样才能实现我的需要。
答案 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
(请注意,我还没有对代码进行过测试,但它应该与此类似。您可能还希望对其进行一些性能测试。)