我需要为 Umbraco CMS 创建一个计数器。有没有办法做到这一点?我想跟踪热门文章并将其显示在主页上。
最佳答案
您必须自己实现这一点,这不是开箱即用的。你可以这样做:
首先,您需要知道要计算的内容:请求 url 的次数?或者一个节点被查看的次数(同一个节点可能在多个 url 下可用)?点击或访问,如果用户重新加载页面,计数器应该上升吗?
对于实际实现,您需要三个部分:
1.客户端请求
每当查看应该被跟踪的页面时,您都需要触发对服务器的请求,该请求允许您增加该页面的计数器。
有几种方法可以实现这一点,我建议通过包含 图片请求 (1px 透明 gif)来实现。
例如:
<img src="/hits/4882/counter.gif" />
4882是文章页面的节点id,每个文章页面都不一样。
您可能应该包含在母版页(模板)上生成 url 的代码。
2. 服务器端处理程序
在服务器端,您需要一个响应图片请求的处理程序。 HttpHandler 非常适合这项工作。您可以在单独的项目中创建它,将 dll 放在 bin 文件夹中并添加必要的 web.config 设置。
处理程序必须执行以下操作:
HTTP_REFERRER
header ,或通过使用 url 中的信息(如图像 url 中的节点 id,如我上面的示例中所示)。 3. 显示最流行的链接
为了在页面上显示热门文章,您需要一个 Umbraco user control 来查询数据库中的表并显示最流行的链接。
关于c# - Umbraco CMS : How to make a hit counter,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6627673/