Drupal: доступ к $ профилю из блока
-
22-07-2019 - |
Вопрос
Я пытаюсь, чтобы аватар (изображение профиля), расположенный в массиве $ profile, отображался в блоке. Переменная $ profile недоступна из блоков. Это только в том самом файле user-profile.tpl.php. Итак ... кто-нибудь знает, как я могу выполнить что-то вроде этого:
print $profile[user_picture];
в другом БЛОКЕ?
Решение
Я подумал, что мог бы также опубликовать это здесь. Смотрите мой второй комментарий по первой теме в этом обсуждении. Ниже мой код, который я использовал с INSERT VIEW, чтобы получить то, что я хотел:
<?php
$profileUser = "";
if (arg(0) == "user") {
$profileUser = arg(1);
}
// removed some other checks i do to populate $profileUser
?>
[view:VIEWED_PROFILE_AVATAR=block=<?php print $profileUser; ?>]
Надеюсь, это кому-нибудь поможет.
Другие советы
Вы можете попробовать использовать следующий код в новом блоке ( admin / build / block / add
):
<?php
global $user;
$output = theme_image($user->picture, $alt = 'user pic', $title = 'user pic');
print $output;
Это дает вам доступ к глобальной переменной $ user
, а затем вы можете использовать свойство picture, чтобы получить URL-адрес для изображения профиля текущего пользователя.