Пользователь joomla, зарегистрированный через CB, не назначен в группу пользователей k2
На одном из моих сайтов на Joomla 2.5 я использую регистрационную форму сообщества Community Builder. Когда регистрация завершена пользователем, который щелкнул ссылку подтверждения в электронном письме, пользователь не назначается в группу пользователей k2.
Я установил эту группу пользователей K2 в K2parameters->advanced setting->Select the default K2 User Group for new registrations
раскрывающийся список, так что новый зарегистрированный пользователь будет назначен на эту группу.
Но это не работает. У меня включены все необходимые плагины, когда я искал решение на google.com.
Любые решения и предложения от экспертов приветствуются.
2 ответа
Отлично работает только правильный код для замены в к2 2.6.6
$row->set('userID', $tmp->id);
$row->set('userName', $tmp->name);
$row->set('group', $params->get('K2UserGroup', 1));
Я столкнулся с этим, когда искал похожую проблему: логин gavick на Facebook не назначал группу пользователей k2. Я подозреваю, что решение то же самое.
Изменить: /plugins/users/k2/k2.php
замените в функции "onLoginUser":
// 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));