Joomla 3.x - 如何向来宾用户显示某个用户在现场

Joomla 3.x - How to display that certain user is on site to a guest user

我想做的是向 Joomla 站点的 guest/visitor 显示某个成员当前是否登录。我到目前为止是这样的:

    //First assigned user object to $user variable
$user = & JFactory::getUser();
if($user->guest){
    //Check user id is zero, if it is zero means user not logged in Joomla
    if ($user->id == 638) {
        echo "online.";
    } else {
        echo "offline.";
    }
}

但是这不起作用。我有这个方法只适用于匹配用户 ID 的人:

//First assigned user object to $user variable
$user = & JFactory::getUser();

//Check user id is zero, if it is zero means user not logged in Joomla
if ($user->id == 638) {
    echo "online.";
} else {
    echo "offline.";
    }

}

但是我无法为来宾用户制作作品。非常感谢任何帮助。

Joomla 用户对象 return 当前用户(正在浏览)的数据。您需要检查会话 table 的数据。 table 存储会话信息。

$db     =& JFactory::getDBO();
$db->getQuery(true);
$query  = 'SELECT COUNT(userid) FROM #__session WHERE userid = 638';
$db->setQuery($query);
$loggedin   = $db->loadResult();
if($loggedin){
    echo "online.";
} else {
    echo "offline";
}