我是Joomla的新手。我使用Joomla 2.5创建了网站,其中包括默认的Joomla用户管理系统的登录页面。
我想要以表格的形式显示所有用户数据。我该如何实现这个功能?
编辑1
我可以通过以下步骤查看用户:
- 进入管理员页面,网址为
www.site.com/administrator
。 - 以管理员身份登录。
- 点击“用户管理”菜单下的“用户管理器”,然后可以看到用户列表。
我想在网站上打印同样的列表,而不是在后台管理界面。
我是Joomla的新手。我使用Joomla 2.5创建了网站,其中包括默认的Joomla用户管理系统的登录页面。
我想要以表格的形式显示所有用户数据。我该如何实现这个功能?
我可以通过以下步骤查看用户:
www.site.com/administrator
。我想在网站上打印同样的列表,而不是在后台管理界面。
您可以在想要显示用户列表的页面上运行查询来完成此操作。您可以使用 $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 Custom Code。
使用该程序创建模块,在其中添加上述代码,将菜单显示在所需位置上。
//我的示例包括选择组、预选用户和更好的用户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;
}