Добрый день, дилетантский вопрос по Drupal 7
Использую 2 хука
<?php
function hook_username_alter(&$name, $account) {
$user = user_load($account->uid);
if (!empty($user->full_name)) {
$name = $user->full_name;
}
}
?>
Переопределяю выводимое имя пользователя по значению из дополнительной колонки в таблице users
и
<?php
function hook_views_query_substitutions($view) {
global $user;
return array(
'***USER_FULL_NAME***' => $user->full_name,
);
}
?>
Добавляю substitutions в Views
Вроде бы как по сути что global $user что $user = user_load($account->uid) получают текущего пользователя, но судя по гугла и тестам, нельзя в первом примере заюазть global $user , так и наоборот во втором из первого.
Комментарии
hook_username_alter вызывается при отображении любого имени пользователя. Т.е. если открыть допустим /admin/people, то хук будет вызван для каждого пользователя в списке, и при каждом вызове $account будет разный соответственно
Вон оно что, всё, теперь я понял, спасибо!
global $user - "текущий" юзер, который в данный момент посещает сайт
user_load - загружает объект-юзера
Почитать:
https://api.drupal.org/api/drupal/developer!globals.php/global/user/7.x
https://api.drupal.org/api/drupal/modules%21user%21user.module/function/...
P.S. И модуль, который, скорее всего, будет вам полезен:
https://www.drupal.org/project/realname
Спасибо!
Я как раз не хочу использовать realname , ради того что можно одним хуком сделать
Ну там еще токен есть, который, например, при почтовых рассылках очень полезен.