当前位置: 首页 > 图文教程 > 网页制作 > CMS技巧 > Joomla教程:在Who is online模块中显示用户名

CMS技巧
Zblog帮助:模板文件与模板标签
Joomla教程:模板覆盖方式修改系统输出
Joomla教程:为Joomla插件创建语言包
Joomla教程:文章页面中显示指定的模块
Joomla教程:控制Section中的分类列表页面的显示方式
Joomla教程:mod-rewrite是否真的被开启
在Joomla自定义HTML模块组合使用Google小工具
Joomla教程:本地搭建的Joomla站点发送邮件
Joomla教程:在Who is online模块中显示用户名
dedecms教程:栏目页面转换为单独页面
CMS可用性测评:帮助找到适合自己的内容管理系统
Joomla中文教程:构建多重站点
Joomla教程:在templateDetails.xml中添加语言文件声明
Joomla教程:为页面和模块添加独立的自定义Class
Joomla教程:为“read more”链接添加对应的文章标题
Joomla教程:查看并修改模板的CSS
Joomla中文教程:创建并使用插件对文章内容进行修改
Joomla教程:网站首页第一次加载时播放一次Flash动画
Joomla教程:禁止未分类文章被站内搜索
Joomla教程:去掉分类文章列表中的文章序号

CMS技巧 中的 Joomla教程:在Who is online模块中显示用户名


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-03   浏览: 34 ::
收藏到网摘: n/a

如果你希望在“Who is online”模块中显示用户的名字(name),而非默认显示的用户名(username),可以按照如下方法去做

由于“Who is online”模块从session表中获得数据;该表中只有用户名(username)以及用户id(userid)信息,而没有用户的名字(name),所以我们需要将seesion表与users表关联(join)起来。打开以下文件:

模板路径/modules/mod_whosonline/helper.php

将其中的

$query = 'SELECT DISTINCT a.username' .
' FROM #__session AS a' .
' WHERE client_id = 0' .
' AND a.guest = 0';

修改为

$query = 'SELECT DISTINCT u.name' .
' FROM #__session AS a' .
' INNER JOIN #__users AS u ON u.id = a.userid' .
' WHERE a.client_id = 0' .
' AND a.guest = 0';

接下来打开/modules/mod_whosonline/tmpl/default.php,在其底部找到

<?php echo $name->username; ?>

修改为

<?php echo $name->name; ?>
搞定。