2009-08-05 4 views
1

Я пытаюсь получить аватар (изображение профиля), расположенный в массиве $ profile, чтобы появиться в блоке. Переменная $ profile недоступна из блоков. Это область видимости только в этом фактическом файле user-profile.tpl.php. Итак ... кто-нибудь знает, как я могу выполнить что-то вроде этого:

print $profile[user_picture]; 

в drupal BLOCK?

+0

До сих пор я могу только представить, что что-то делать с этим: http://api.lullabot.com/file/core/modules/profile/profile-block.tpl.php и эти: HTTP: //api.drupal.org/api/function/template_preprocess_profile_block/7 – coderama

+0

Вы упомянули ниже, что нашли ответ, создав блок просмотра - любой шанс поделиться техникой? – Bevan

+0

Yay. Впервые я помогу кому-то! :-) В принципе, я хотел, чтобы, щелкнув профиль пользователя X, он показал свое имя в блоке. Для этого я создал представление, отображающее имя пользователя. Затем я разрешаю этому представлению рассматривать uid как аргумент и вуаля. В конце концов я немного расширил его, используя модуль, называемый «вставка вида», чтобы я мог выполнять некоторые фанк-команды PHP. Дайте мне знать, если я должен дать больше инструкций. – coderama

ответ

2

Я подумал, что могу также опубликовать его здесь. См. Мой второй комментарий по первому вопросу в этой дискуссии. Ниже мой код, я использовал с вкладышем 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; ?>] 

Я надеюсь, что кто-то помогает.

+0

спасибо, что мужчина искал то же самое :) – abhishek

1

Вы можете попробовать использовать следующий код в новом блоке (admin/build/block/add):

<?php 
global $user; 
$output = theme_image($user->picture, $alt = 'user pic', $title = 'user pic'); 
print $output; 

Это дает вам доступ к глобальным $user переменным, а затем вы можете использовать свойство изображения, чтобы получить URL для тока изображение профиля пользователя.

+0

Да, но это не тот образ, который я хочу. Если я просматриваю чужой профиль, я хочу видеть картинку этого человека. Я решил это, создав блок-представление. – coderama

+0

gotcha - спасибо за udpate – quickcel

Смежные вопросы