我是 Joomla 的新手。我使用 Joomla 2.5 创建了网站。我有登录页面,这是默认的 Joomla 用户管理系统。
我想要的是以表格格式显示所有用户数据。我怎么能这样做?
编辑 1
我可以通过以下步骤查看用户。
- 以 .身份转到管理员页面
www.site.com/administrator
。 - 以管理员身份登录
- 单击
Users >> User Manager
菜单,然后我可以看到用户列表。
我想打印相同的列表,但是在网站上而不是在后端的管理员站点上。
我是 Joomla 的新手。我使用 Joomla 2.5 创建了网站。我有登录页面,这是默认的 Joomla 用户管理系统。
我想要的是以表格格式显示所有用户数据。我怎么能这样做?
我可以通过以下步骤查看用户。
www.site.com/administrator
。Users >> User Manager
菜单,然后我可以看到用户列表。我想打印相同的列表,但是在网站上而不是在后端的管理员站点上。
您可以在要显示用户列表的页面上运行查询。您可以使用 $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;
}
下面是我用的。
安装扩展Flexi 自定义代码。
使用它创建模块,在其中添加上面的代码并在要显示的菜单上显示该菜单。
两种可能的解决方案
// 我的示例包含 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;
}