Drupal: получение информации о пользователе - PullRequest
1 голос
/ 09 июля 2010

Как я могу получить информацию о вошедшем в систему пользователе при загрузке случайной страницы сайта?

Мне нужно захватить поле профиля, чтобы настроить внешний вид страницы

спасибо

Ответы [ 4 ]

1 голос
/ 09 июля 2010

Erics 'ответ работает на темы. Стандартный способ в модулях - сделать global $user, чтобы получить зарегистрированного пользователя. Лично я не люблю использовать глобалы таким образом, но когда в Риме ...

1 голос
/ 09 июля 2010

Информация о текущем пользователе всегда доступна как глобальная, поэтому вы просто делаете:

global $user;
// $user will now be a stdClass object representing the current user, logged in or not
// If you are only interested in logged in users, a standard check would be
if (0 != $user->uid) {
  // Do something for/with logged in users
}

У анонимного пользователя будет uid 0, у администратора (первого) пользователя будет 1.

1 голос
/ 09 июля 2010

Вот список групп переменных, которые вы можете использовать: http://web.rhizom.nl/development/drupal-variables-in-theme-files/.

На этой странице показано, как получить переменные, такие как адрес электронной почты пользователя: http://11heavens.com/Drupal-coder-lost-in-space/who-is-she.

0 голосов
/ 09 июля 2010

Значения профиля всегда загружаются в любой пользовательский объект, полученный с помощью функции user_load(). Глобальная переменная $user содержит информацию для текущего пользователя, вошедшего в систему. Если вы ищете значение профиля с именем profile_realname, вы можете использовать следующий код:

global $user:

// Avoid the anonymous user, which doesn't have any profile field.
if ($user->uid) {
  $realname = $user->profile_realname;
}
...