2009-08-05 17 views
1

Ich versuche, den Avatar (Profilbild) im $ -Profil-Array in einem BLOCK erscheinen zu lassen. Auf die Variable $ profile kann nicht von Blöcken zugegriffen werden. Der Umfang liegt nur in der tatsächlichen Datei userprofil.tpl.php. Also ... weiß jemand, wie ich so etwas ausführen kann:

print $profile[user_picture]; 

in einem Drupal BLOCK?

+0

Bisher kann ich nur vorstellen, dass es etwas mit diesen zu tun hat: http://api.lullabot.com/file/core/modules/profile/profile-block.tpl.php und dieser: http: //api.drupal.org/api/function/template_preprocess_profile_block/7 – coderama

+0

Sie erwähnen unten, dass Sie die Antwort gefunden haben, indem Sie einen View-Block erstellen - eine Chance, die Technik zu teilen? – Bevan

+0

Yay. Das erste Mal, dass ich jemandem helfen kann! :-) Grundsätzlich wollte ich, dass wenn Sie auf Benutzer X Profil klicken, dass es seinen Namen in einem Block zeigt. Um dies zu tun, habe ich eine Ansicht erstellt, die den Namen eines Benutzers anzeigt. Ich lasse dann diese Ansicht in die Uid als Argument und voila. Ich erweiterte es schließlich ein wenig mit einem Modul namens "einfügen", so dass ich einige funky PHP-Befehle ausführen kann. Lass es mich wissen, wenn ich mehr Anweisungen geben muss. – coderama

Antwort

2

Ich dachte, ich könnte es genauso gut hier posten. Siehe meinen zweiten Kommentar zum ersten Thread in dieser Diskussion. Unten ist mein Code ich mit INSERT VIEW verwendet, um zu bekommen, was ich wollte:

<?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; ?>] 

Ich hoffe, dass jemand hilft.

+0

danke mann war auf der suche nach dem gleichen :) – abhishek

1

Sie können versuchen, den folgenden Code in einem neuen Block mit (admin/build/block/add):

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

Dies gibt Ihnen auf die globale $user Variable zugreifen und dann können Sie die Bild Eigenschaft verwenden, um die URL für die aktuelle zu erhalten Benutzer Profilbild.

+0

Ja, aber das ist nicht das Bild, das ich will. Wenn ich das Profil eines anderen Benutzers sehe, möchte ich das Bild dieser Person sehen können. Ich habe es gelöst, indem ich eine Blockansicht erstellt habe. – coderama

+0

gotcha - danke für die udpate – quickcel

Verwandte Themen