Sitecore相当新,我正在构建一个没有身份验证的Sitecore Web应用程序(匿名)。这是一个大型项目,有许多分层的顶部,侧面菜单。
当用户重新访问网站时,我需要加载上次访问的页面,并突出显示菜单项。有人可以帮助我是否有任何提供此功能的Sitecore API,如果不是,那么理想的解决方案是什么,即在客户端cookie上存储最后访问过的页面?
答案 0 :(得分:5)
我可以看到的一个选项是将最后访问过的页面存储在客户端cookie上,就像你说的那样,然后构建一个自定义处理器并将其放入
<httpRequestBegin>
web.config中的管道。
自定义处理器需要从HttpRequestProcessor类继承,并且您需要覆盖Process方法。
在这种情况下,我建议使用这样的自定义处理器:
<processor type="Your.NameSpace.ClassName, Your.Assembly" />
<processor type="Sitecore.Pipelines.HttpRequest.ItemResolver, Sitecore.Kernel" />
并具有以下内容:
namespace Your.Namespace
{
public class ClassName : HttpRequestProcessor
{
public override void Process(HttpRequestArgs args)
{
// Get cookie:
var cookievalue = WebUtil.GetCookieValue("cookiename");
WebUtil.Redirect(cookievalue);
}
}
}
当然,这建议您将最后访问过的网页的网址存储在Cookie中。您当然也可以将最后访问过的项目的ID存储在cookie中,然后从那里获取它的路径。
答案 1 :(得分:1)
我刚刚看到这篇文章,正如Holder所提到的,如果你启用并使用它,应该可以从DMS获取信息:
答案 2 :(得分:0)
据我所知,默认API中没有任何内容可以执行此操作。
Sitecore OMS中可能存在某些内容,但我对OMS知之甚少。
我认为cookie可能是最简单,最简单的方法。