Sitecore个性化-上一页

Sitecore个性化-上一页,sitecore,sitecore8,Sitecore,Sitecore8,该网站有这些网页-主页,产品1,产品2和主页有一个横幅 当用户的行程为-Home>Product1>Home时,横幅应显示image1 当用户的行程为-Home>Product2>Home时,横幅应显示image2 当用户访问-Home>Product2>Product1>Home时,横幅应该显示image1 …也就是说,我想显示基于主页前最后一次访问页面的图像 在规则集编辑器中,我设置了3条规则: 1.如果访问期间的特定页面为“product1”,则图像将为image1。 2.如果访问期间的特

该网站有这些网页-主页,产品1,产品2和主页有一个横幅

当用户的行程为-Home>Product1>Home时,横幅应显示image1

当用户的行程为-Home>Product2>Home时,横幅应显示image2

当用户访问-Home>Product2>Product1>Home时,横幅应该显示image1

…也就是说,我想显示基于主页前最后一次访问页面的图像

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

这不符合预期。如果用户首先访问product1,则其标题中始终显示image1。我知道它是按照规则运行的,因为规则1在这里永远都是真实的


但是,我如何才能实现我所需要的。

您必须为此创建自定义条件。关于如何做这一部分有很多方法,所以我不会集中讨论

您的情况可能类似于
,其中上一页是特定页面

然后在您的情况下,您将传入一个ID(其中显示
特定页面
)。然后,您可以在以下条件下执行类似操作:

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

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

您必须为此创建一个自定义条件。关于如何做这一部分有很多方法,所以我不会集中讨论

您的情况可能类似于
,其中上一页是特定页面

然后在您的情况下,您将传入一个ID(其中显示
特定页面
)。然后,您可以在以下条件下执行类似操作:

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

(请注意,我没有测试代码,但应该与此类似。当然,您可能还想对其进行一点性能测试)。

有没有一种方法,我们可以实现这一点而无需任何编码?没有,我认为您不能,看看系统中可用的规则。有没有一种方法,我们可以实现这一点而无需任何编码,我不认为你可以,看看系统中可用的规则。你可以切换规则#1和#2的顺序,然后image2将优先于image1。如果这对您来说还不够好,那么是的,您需要创建一个自定义规则。您可以切换规则#1和#2的顺序,那么image2将优先于image1。如果这对您来说还不够好,那么是的,您需要创建一个自定义规则。