joomla - 如何在Joomla 2.5中获取用户组名称

标签 joomla joomla2.5

我正在编写我在Joomla 1.7中开发的Joomla 2.5组件。我一直在使用这样的代码:

$user = JFactory::getUser();
$groups = $user->get('groups');

$ groups数组将包含一个以组名作为索引的ID列表。 Joomla 2.5似乎已经放弃了此功能。我一直无法找出如何在不直接查询数据库的情况下获取组名。有什么方法可以获取用户所属的组列表,而不必诉诸于数据库?

最佳答案

我在下面生成的代码获取用户所属的所有组的名称,并将它们存储在由换行符分隔的变量 $ groupNames 中:

foreach ($user->groups as $groupId => $value){
    $db = JFactory::getDbo();
    $db->setQuery(
        'SELECT `title`' .
        ' FROM `#__usergroups`' .
        ' WHERE `id` = '. (int) $groupId
    );
    $groupNames .= $db->loadResult();
    $groupNames .= '<br/>';
}
print $groupNames;

从技术上讲,它是通过Joomla API来查询数据库的。这对Joomla 2.5来说对我来说效果很好。

关于joomla - 如何在Joomla 2.5中获取用户组名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10468115/

相关文章:

Css/浏览器兼容性/joomla

mysql - 如何从 Joomla 批量删除用户?我的网站遭到垃圾邮件机器人攻击,我有超过 40,000 名注册用户,但只有 1 名活跃用户。

javascript - 在 Joomla 3.x 中通过 POST 将数组从 javascript 发送到 php

joomla - joomla (2.5) 系统插件安装时加载语言文件

css - Joomla 按钮不起作用拒绝应用内联样式,因为它违反了以下规定

php - Joomla 在哪里存储 'fulltext' 篇文章?

php - 如何减少 HTTP 请求?

Joomla 2.5 不能在辅助文件中使用 $this

mysql - 如何在第二次查询后在 Joomla 中使用 getNumRows()

php - joomla 2.5 中的保守缓存和渐进缓存有什么区别?