这段代码如何加?
程序员文章站
2024-02-14 20:58:16
...
本题是关于php做的cms管理系统discuz的问题,所以回答本题要搞过discuz的人.
问题是这样:我想把系统自带的尾部统计在线人数的代码放在头部,所以我就复制了这段代码到头部中,但是奇怪的是显示为乱码,起码以为是条件判断的原因,后来多次检查,感觉不是.
下面的代码我是我复制的,不知为啥放在head.htm中就是不行呢,应该如何写才是正确的呢?
请缓存这是最起码的常识吧!
问题是这样:我想把系统自带的尾部统计在线人数的代码放在头部,所以我就复制了这段代码到头部中,但是奇怪的是显示为乱码,起码以为是条件判断的原因,后来多次检查,感觉不是.
下面的代码我是我复制的,不知为啥放在head.htm中就是不行呢,应该如何写才是正确的呢?
{lang onlinemember} - $onlinenum {lang onlines} - $membercount {lang index_members}($invisiblecount {lang index_invisibles}), $guestcount {lang index_guests} - {lang index_mostonlines} $onlineinfo[0] {lang on} $onlineinfo[1].
{lang onlinemember} {lang onlinemember} - {lang total} $onlinenum {lang onlines} - $membercount {lang index_members},$guestcount {lang index_guests} - {lang index_mostonlines} $onlineinfo[0] {lang on} $onlineinfo[1].
- $_G[cache][onlinelist][legend]
- $online[username] $online[username]
- {lang online_only_guests}
回复讨论(解决方案)
下图是复制上面代码后的结果
清缓存看看。
清缓存看看。
请缓存这是最起码的常识吧!
统计在线人数,那是首页的功能,如:$onlinenum,$invisiblecount等,都是在\source\module\forum\forum_index.php里面定义的
而header.htm是所有页面都要引用的,里面的变量都是在初始化的时候取出放到了$_G里面,所以,你直接copy的代码不生效
有两种办法:
1>在source\class\discuz\discuz_application.php中初始化的时候查询数据库,并放到$_G中(不建议新手这样做)
2>在header.htm中调用一个函数,如:,getnolineinfo()方法在source\function\function_core.php中自己定义,里面具体的实现代码,请参考source\module\forum\forum_index.php中178行左右的if里面的代码