Joomla的Who's Online Counter - 如何添加千位分隔符


Joomla's Who's Online Counter - How to add thousand separator?

我的一个网站经常有超过 1000 个并发访问者,为了保持一致性,我想在显示屏上添加一个千位分隔符,使其显示 1,000 个。

我最初的想法只是在保存客人计数的变量之前添加number_format,但由于某种原因,这会停止计数器工作。

帮助器中的函数.php计算来宾数如下所示:

    // show online count
static function getOnlineCount() {
    $db     = JFactory::getDbo();
    // calculate number of guests and users
    $result = array();
    $user_array  = 0;
    $guest_array = 0;
    $query  = $db->getQuery(true);
    $query->select('guest, usertype, client_id');
    $query->from('#__session');
    $query->where('client_id = 0');
    $db->setQuery($query);
    $sessions = (array) $db->loadObjectList();
    if (count($sessions)) {
        foreach ($sessions as $session) {
            // if guest increase guest count by 1
            if ($session->guest == 1 && !$session->usertype) {
                $guest_array ++;
            }
            // if member increase member count by 1
            if ($session->guest == 0) {
                $user_array ++;
            }
        }
    }
    $result['user']  = $user_array;
    $result['guest'] = $guest_array;
    return $result;
}

在模板中,使用以下方式显示数据:

<?php if ($showmode == 0 || $showmode == 2) : ?>
<?php $guest = JText::plural('MOD_WHOSONLINE_GUESTS', $count['guest']); ?>
<?php $member = JText::plural('MOD_WHOSONLINE_MEMBERS', $count['user']); ?>
<p><?php echo JText::sprintf('MOD_WHOSONLINE_WE_HAVE', $guest, $member); ?></p>

请问我把number_format放在哪里,以便添加分隔符?

不起作用吗?

$guest = JText::plural('MOD_WHOSONLINE_GUESTS',number_format($count['guest'],0,'.',','));