打印所有用户 - Joomla 2.5

4

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

我想要以表格的形式显示所有用户数据。我该如何实现这个功能?

编辑1

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

  1. 进入管理员页面,网址为www.site.com/administrator
  2. 以管理员身份登录。
  3. 点击“用户管理”菜单下的“用户管理器”,然后可以看到用户列表。

我想在网站上打印同样的列表,而不是在后台管理界面。

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 Custom Code

使用该程序创建模块,在其中添加上述代码,将菜单显示在所需位置上。


我相信我需要做的是创建文章,然后将这段代码粘贴在那里...对吗? - Fahim Parkar
嘿,我是新手...你能告诉我该做什么吗? - Fahim Parkar
创建一个模块?为什么需要呢?我可能不会选择这种方法。代码是正确的,但您需要进行大量的样式设置,并且可能希望将每个名称都变成链接,链接到其个人资料。我会选择 @GeorgeWilson 的答案,并对 default.php 进行一些微小的更改以适应您的需求。 - Lodder

1

//我的示例包括选择组、预选用户和更好的用户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;
}

1

你需要某种组件来实现这个功能。例如这个用户资料组件(注:我之所以用它作为例子是因为我的一个同事曾经使用过它——虽然可定制性不如我所希望,但对于你的需求可能还可以。我相信还有更多选择,因为整个成员列表类别都有相关组件)。

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


用户配置文件正在工作,但是表格中有一些不需要的内容。如何删除这些内容并添加我想要的内容,例如电子邮件地址、手机号码、姓名等。 - Fahim Parkar
是的,恐怕你需要编辑原始代码。因此,它不像我想象的那样兼容。据我所知,Joomla默认不提供手机号码功能。你安装了额外的组件吗? - George Wilson

1

两种可能的解决方案

  • 使用JED中可用的用户资料组件
  • 启用“用户-联系人创建者”插件,为每个新用户创建一个联系人资料,然后使用Joomla内置的菜单项列出所有联系人

这个是有效的,但是表格中有一些不需要的东西。如何去除它们并添加我想要的内容,比如邮箱、手机号码、姓名等。 - Fahim Parkar
您可以通过修改插件参数来选择在前端显示/隐藏哪些字段,如果您想添加其他字段,可以通过语言文件重命名任何字段或创建自己的插件版本:个人资料插件定制 - marcanuy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接