我正在编写一个我在Joomla 1.7中开发的Joomla 2.5组件.我一直在使用这样的代码:
$user = JFactory::getUser();
$groups = $user->get('groups');
Run Code Online (Sandbox Code Playgroud)
$ 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;
Run Code Online (Sandbox Code Playgroud)
它在技术上查询数据库,但是通过Joomla API完成.这对我来说在Joomla 2.5上运行良好.
是的,这改变了。
但你应该使用的是:
JFactory::getUser()->getAuthorisedGroups();
Run Code Online (Sandbox Code Playgroud)
要不就getUserGroups
| 归档时间: |
|
| 查看次数: |
16400 次 |
| 最近记录: |