4

我是 Joomla 的新手。我使用 Joomla 2.5 创建了网站。我有登录页面,这是默认的 Joomla 用户管理系统。

我想要的是以表格格式显示所有用户数据。我怎么能这样做?

编辑 1

我可以通过以下步骤查看用户。

  1. 以 .身份转到管理员页面www.site.com/administrator
  2. 以管理员身份登录
  3. 单击Users >> User Manager菜单,然后我可以看到用户列表。

我想打印相同的列表,但是在网站上而不是在后端的管理员站点上。

4

4 回答 4

7

您可以在要显示用户列表的页面上运行查询。您可以使用 $row 对象获取所有用户表字段。

$db =& JFactory::getDBO();
$query = "SELECT * FROM #__users" ;
$db->setQuery($query);
$rows = $db->loadObjectList();
foreach ($rows as $row) {
  echo $row->id.'|'.$row->username.'|'.$row->email;
}

编辑 1

下面是我用的。

安装扩展Flexi 自定义代码

使用它创建模块,在其中添加上面的代码并在要显示的菜单上显示该菜单。

于 2012-10-09T12:57:05.580 回答
1

两种可能的解决方案

  • 使用JED 中提供的用户配置文件组件
  • 启用“用户 - 联系人创建者”插件为每个新用户创建一个联系人配置文件,然后使用 Joomla 内置菜单项列出所有联系人
于 2012-10-09T13:06:33.443 回答
1

// 我的示例包含 opt-groups、预选用户和更好的用户 ID

function getUserList ($user_id) {
    $db = JFactory::getDBO ();
    $db->setQuery ("SELECT id, username, usertype FROM ' . $db->quoteName ('#__users') . ' ORDER BY usertype,username ASC");
    $rows = $db->loadAssocList ();
    static $opt_tag;

    $list = '<option value="0">' . JText::_ ('SELECTION') . '</option>';

    foreach ($rows as $row) {
        if (empty ($opt_tag) || $opt_tag != $row['usertype']) {
            $list .= '<optgroup label="' . $row['usertype'] . '">';
            $opt_tag = $row['usertype'];
        }

        if ($row['id'] < 10) {
            $id = '000' . $row['id'];
        }

        elseif ($row['id'] < 100) {
            $id = '00' . $row['id'];
        }

        elseif ($row['id'] < 1000) {
            $id = '0' . $row['id'];
        }

        $list .= '<option value="' . $row['id'] . '"' . (((int) $user_id == $row['id']) ? ' selected="SELECTED"' : '') . '>' . $id . ' - ' . $row['username'] . '</option>';
        if (empty ($opt_tag) || $opt_tag != $row['usertype']) {
            $list .= '</optgroup>';
        }
    }
    return $list;
}
于 2014-09-13T06:37:07.930 回答
1

为此,您将需要某种组件。例如,此用户配置文件组件(NB 使用此作为我的示例作为工作同事曾经使用过它 - 不像我希望的那样可定制 - 但可能适合你之后的事情。我相信还有更多,因为有一个完整的成员列出类别。)

只需安装其中一个并选择您要显示的内容。像任何其他组件一样将其添加到菜单中,然后就可以使用了!

于 2012-10-09T13:00:56.570 回答