Предположим, что вы хотите обновить какие-то данные пользователя, сохранить их в базу и сразу же отобразить их пользователю. После обновления данных вы получаете объект пользователя JUser через JFactory::getUser(), но данные в объекте по прежнему старые и обновляютя они только после того, как пользователь пройдет повторную авторизацию. Как же обновить эти данные, не заставляя пользователя выходить/входить на сайт заново?
Загвоздка в том, что при вызове JFactory::getUser() объект JUser берется из сессии, поэтому для его обновления вы должны получить объект из сессии, обновить необходимые свойства и записать объект обратно в сессию:
// Получем объект пользователя из сессии
$session = JFactory::getSession();
$tmpUser = $session->get('user');
// Обновляем необходимые данные
$tmpUser->name = $data['name'];
$tmpUser->email = $data['email'];
// Обновляем объект пользователя в сессии
$session->set('user', $tmpUser);
Удачной разработки!








