2009-08-05 3 views
1

$ profile 배열에있는 아바타 (프로필 사진)를 BLOCK에 표시하려고합니다. 변수 $ profile은 블록에서 액세스 할 수 없습니다. 범위는 실제 user-profile.tpl.php 파일에만 있습니다. 그래서 ... 아무도 내가 이런 식으로 어떻게 실행할 수 있는지 알지 못합니까?

print $profile[user_picture]; 

은 drupal 블록에 있습니까?

+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

예. 처음으로 누군가를 도울 수 있습니다! :-) 기본적으로 사용자 X의 프로필을 클릭하면 블록에 이름이 표시됩니다. 이렇게하기 위해 사용자 이름을 표시하는보기를 만들었습니다. 그런 다음이 견해를 인수로 받아 들여야합니다. 필자는 펑키 한 PHP 명령을 수행 할 수 있도록 "insert view"라는 모듈을 사용하여 약간 확장했습니다. 더 많은 지시를해야하는지 알려주세요. – coderama

답변

2

내가 여기에 게시 할 수도 있다고 생각했습니다. 이 토론의 첫 번째 스레드에 대한 두 번째 주석을 참조하십시오. 아래 코드는 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; ?>] 

나는 누군가를 돕기를 바랍니다.

+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