Как обновить данные текущего пользователя без его повторной авторизации
- 11.07.2014
Предположим, что вы хотите обновить какие-то данные пользователя, сохранить их в базу и сразу же отобразить их пользователю. После обновления данных вы получаете объект пользователя JUser через JFactory::getUser(), но данные в объекте по прежнему старые и обновляютя они только после того, как пользователь пройдет повторную авторизацию. Как же обновить эти данные, не заставляя пользователя выходить/входить на сайт заново?
Загвоздка в том, что при вызове JFactory::getUser() объект JUser берется из сессии, поэтому для его обновления вы должны получить объект из сессии, обновить необходимые свойства и записать объект обратно в сессию:
Удачной разработки!
Joomla!® CMS — пожалуй, лучшая система управления контентом с открытым исходным кодом

Joomla! — это больше, чем просто программное обеспечение, это люди, включающие разработчиков, дизайнеров, системных администраторов, переводчиков, копирайтеров, и, что самое главное — простых пользователей.
Мы рады пригласить вас в ряды нашего сообщества!
Расширения Joomla
-
Дайджест свежих расширений Joomla №12-13 (23 июля — 14 августа 2016)
-
Дайджест свежих расширений Joomla №10-11 (08-22 июля 2016)
-
Дайджест свежих расширений Joomla №8-9 (26 июня — 07 июля 2016)
-
Дайджест свежих расширений Joomla №6-7 (11-25 июня 2016)
-
Дайджест свежих расширений Joomla №4-5 (28 мая — 10 июня 2016)
Комментарии
$user = JFactory::getUser();
$user->set('email', $data['email']);
вполне адекватно вроде работает
так же и в сессии обновляются данные
Иначе новые права доступа (authorised view levels) будут иметь эффект только после повторной авторизации
Заранее спасибо за ответ.
$user->load($user->id);
Не понимаю куда вставлять описанное.
Ситуация такая:
- Администратор в админке меняет данные пользователя (я сам добавлял в базу дополнительные поля). Пользователь их редактировать не может, только для чтения они.
И мне нужно что бы пользователь увидел обновленные данные на определенной странице (любой, пусть информация по пользователя на index.php) не выходя из своего кабинета.
КАК СДЕЛАТЬ такую ссылочку? Или добавить какой нужно код на ту страницу, где данные которые нужно обновлять.
ЗАРАНЕЕ СПАСИБО!