Вопрос

Я пытаюсь, чтобы аватар (изображение профиля), расположенный в массиве $ 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-адрес для изображения профиля текущего пользователя.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top