通过CB注册的joomla用户未分配给k2用户组


joomla user registered through CB is not assigned to k2 user group

在我的一个joomla 2.5网站上,我使用的是社区建设者注册表。当用户在电子邮件中点击确认链接完成注册时,该用户不会被分配到k2用户组。

我在k2中设置了k2用户组
parameters->advanced setting->Select the default K2 User Group for new registrations
下拉列表,以便将新注册的用户分配给该组。

但它不起作用。当我在谷歌上搜索解决方案时,我启用了所有需要的插件

欢迎专家提出任何解决方案和建议。

我在搜索类似问题时遇到了这个问题:gavick的facebook登录没有分配k2用户组。我怀疑解决方案是一样的。

编辑:/插件/用户/k2/k2.php

在函数"onLogiUser"中替换:


// Get the user id
            $db = JFactory::getDBO();
            $db->setQuery("SELECT id FROM #__users WHERE username = ".$db->Quote($user['username']));
            $id = $db->loadResult();

带有:


// Get the user id
            $db = JFactory::getDBO();
            $db->setQuery("SELECT id FROM #__users WHERE username = ".$db->Quote($user['username']));
            $id = $db->loadResult();
            $db->setQuery("SELECT username FROM #__users WHERE username = ".$db->Quote($user['username']));
            $mytempusername = $db->loadResult();

并替换:


$row->set('userID', $id);
$row->set('userName', $mytempusername);
$row->set('group', $params->get('K2UserGroup', 1));

带有:


$row->set('userID', $id);
//$row->set('userName', $user['fullname']);
$row->set('userName', $mytempusername);
$row->set('group', $params->get('K2UserGroup', 1));

完美工作只有k2 2.6.6中用于重新部署的正确代码才是

$row->set('userID', $tmp->id);
$row->set('userName', $tmp->name);
$row->set('group', $params->get('K2UserGroup', 1));