我有一个名为新闻部分的页面项目。在此页面中,用户可以看到所有新闻的列表,新闻标题以粗体显示。
现在我要做的是让那些阅读过新闻的用户的标题正常(非粗体)。
为此,我正在考虑在 sitecore 中为每个新闻项目创建一个文件夹,并在该文件夹中为每个用户创建一个项目,其中包含一个复选框字段“已读”。
但我不确定如何跟踪用户是否查看/访问过某个项目。我应该使用cookies吗?或者,Sitecore 中提供了一些开箱即用的功能来检查用户是否访问了某个项目。?
我有一个名为新闻部分的页面项目。在此页面中,用户可以看到所有新闻的列表,新闻标题以粗体显示。
现在我要做的是让那些阅读过新闻的用户的标题正常(非粗体)。
为此,我正在考虑在 sitecore 中为每个新闻项目创建一个文件夹,并在该文件夹中为每个用户创建一个项目,其中包含一个复选框字段“已读”。
但我不确定如何跟踪用户是否查看/访问过某个项目。我应该使用cookies吗?或者,Sitecore 中提供了一些开箱即用的功能来检查用户是否访问了某个项目。?
这种方法对我来说似乎是错误的。我认为你应该关注“这个人浏览过的页面”,而不是“浏览过这个页面的人”。
由于您使用的是 Sitecore 7.2(因此没有可用的 xDB),您可以存储他们查看过的新闻项目的 ID。在我看来,更新配置文件的最佳位置是在HttpRequestBegin
管道处理器中。
当用户登陆页面时,您只需检查他们的个人资料以查看当前页面的 GUID 是否在他们的列表中。
您需要创建一个自定义用户配置文件,这非常简单。请参阅安全 API 手册的第 3.5 节:https ://sdn.sitecore.net/upload/sitecore6/sc61keywords/security_api_cookbook_a4.pdf
我认为这种方法更简洁,因为您不必为每个查看页面的人创建文件夹和特殊项目。
顺便说一句,我假设您的系统将拥有可管理数量的用户和新闻页面。我怀疑这会很好地扩展。