schachbulle / contao-counter-bundle
Contao 4 的页面、消息和文章计数器
Requires
- php: >=5.6
- contao/core-bundle: ^4
- contao/news-bundle: *
- schachbulle/contao-helper-bundle: *
Requires (Dev)
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
README
一个Contao模块(至少版本3.1),可以统计页面、文章和消息的访问次数。
本版本已在 schachbund.de 上投入生产使用,但仍在开发阶段。
集成
计数器由计数模块和输出模块组成。计数模块负责计数,必须在输出模块之前在页面布局或页面中集成。
这两个前端模块可以在“计数器”区域下找到,位于主题 -> 模块。计数模块只需集成一次,输出模块可以使用不同的模板在任意位置集成。
计数模块在表 tl_fh_counter 中管理数据,并额外将当前内容(页面、文章、消息)的数据写入 $GLOBALS['fhcounter']。输出模块将使用这些数据。
模板变量
ViewCounterinfo(布尔值):计数器头部数据存在与否
ViewDiagrams(布尔值):计数器图表存在与否。需要JQuery!
CounterSource:计数器名称(tl_news, tl_article, tl_page)
CounterPid:CounterSource的ID
CounterStarttime:第一次计数的时间戳
CounterLastcounting:最后一次计数的时间戳
CounterLastip:最后访问者的IP地址,是否计数。通常是自己的IP。
CounterOnline:当前URL的当前访问者数量
CounterTopOnlineCount:当前访问者数量的峰值
CounterTopOnlineTime:当前访问者数量峰值的时间戳
CounterTotalhits / CounterAll:总访问次数
CounterYesterday:昨天的访问次数
CounterThisDay:今天的访问次数
CounterAverage:每天的平均访问者数量
这还远不是所有模板变量,但是最重要的。此外,模板尚未完善,可能包含错误。变量名可能会更改或不再使用。
还可以为上述变量名提供前缀。例如,PageCounterAverage 显示的是活动页面的平均每日访问者数量,无论当前是否显示文章或消息。其他前缀是 Article 和 News。
无前缀的通用计数器按照页面、文章、消息的顺序加权其他计数器。因此,通用计数器首先使用页面数据填充,然后使用文章数据覆盖(如果显示文章)。
Contao设置
计数器与以下前端设置显然可以正常工作
URL重写 = true 自动项激活 = true 将语言添加到URL = false 不重定向空URL = false 使用目录URL = false 不使用页面别名 = false
其他设置尚未充分测试。但是,只要只统计页面,FH-Counter应该不会有问题。当前页面的ID将提供给Contao的模块。
在统计文章时,计数器从GET变量articles获取内容,从而确定当前活动文章。
消息计数稍微复杂一些,因为页面别名是可以自由选择的,并且Contao自身不提供显示消息的信息。因此,计数器首先为所有消息存档确定重定向页面,即消息阅读器。如果活动页面与消息阅读器相对应,则从 $_SERVER['REQUEST_URI'] 中提取消息别名,然后可以计算消息数量。
错误和支持
由于计数器仍在开发阶段,并且尚未集成到Contao的ER中,我在扩展支持方面有所保留。但是,您可以在Contao论坛(Samson1964)或GitHub上联系我。
Frank Hoppe