【问题标题】:Sitecore Intranet Portal How to know if a user has accessed/(Viewed) an Item or notSitecore Intranet Portal 如何知道用户是否已访问/(查看)项目
【发布时间】:2016-03-03 09:58:58
【问题描述】:

我有一个名为新闻部分的页面项目。在此页面中,用户可以看到所有新闻的列表,新闻标题以粗体显示。

现在我要做的是让那些阅读过新闻的用户的标题正常(非粗体)。

为此,我正在考虑在 sitecore 中为每个新闻项目创建一个文件夹,并在该文件夹中为每个用户创建一个项目,其中包含一个复选框字段“已读”。

但我不确定如何跟踪用户是否查看/访问过某个项目。 我应该使用cookies吗?或者,Sitecore 中提供了一些开箱即用的功能来检查用户是否访问过某个项目。 ?

【问题讨论】:

    标签: c# sitecore portal sitecore7.2 sitecore-intranet-portal


    【解决方案1】:

    这种方法对我来说似乎是错误的。我认为您应该关注“此人查看过的页面”,而不是“查看过此页面的人”。

    由于您使用的是 Sitecore 7.2(因此没有可用的 xDB),您可以存储他们查看过的新闻项目的 ID。在我看来,更新配置文件的最佳位置是在HttpRequestBegin 管道处理器中。

    当用户登陆页面时,您只需检查他们的个人资料以查看当前页面的 GUID 是否在他们的列表中。

    您需要创建一个自定义用户配置文件,这非常简单。请参阅安全 API 手册的第 3.5 节:https://sdn.sitecore.net/upload/sitecore6/sc61keywords/security_api_cookbook_a4.pdf

    我认为这种方法更简洁,因为您不必为每个查看页面的人创建文件夹和特殊项目。

    顺便说一句,我假设您的系统将拥有可管理数量的用户和新闻页面。我怀疑这会很好地扩展。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多