[gelöst] Blockabfrage scheint nicht die User id des Profils zu finden.
am 18.04.2012 - 23:06 Uhr in
Hallo zusammen,
ich hofffe, dass ich hier mit meiner Frage richtig bin. Ich habe folgendes vor:
Ich möchte das ein Block auf der Profilseite nur gezeigt wird, wenn eine User-Relationship zu dem Profilbesitzer existiert.
Dazu nutze ich ein eigenes Modul welches dann in dem Block als Abfrage überprüft wird. Hier der Code von dem Modul:
<?php
function user_is_friend_init(){
global $user;
global $user_is_friend;
if (arg(0) == 'user' && is_numeric(arg(1))) {
$profile_uid = arg(1);
if (in_array('administrator', $user->roles))
{
$user_is_friend = 1;
// Wenn der Admin aufs Profil zugreift, bekommt er den Status 1.
}
elseif ($user->uid == $profile_uid) {
$user_is_friend = 1;
// Wenn der Profilinhaber aufs eigene Profil zugreift, bekommt er den Status 1.
}
else {
$user_is_friend = user_relationships_load(array('between' => array($user->uid, $profile_uid), 'approved' => TRUE)) ? 1 : 0;
// Nur Freunde bekommen den Status 1.
// Allen anderen bekommen den Status 0.
}}}
?>Und hier der Code von der Abfrage:
<?php
global $user_is_friend;
if ($user_is_friend == "1") {
return TRUE;
}
else {
return FALSE;
}
?>Das Problem an der Sache ist, dass wenn ich auf "My account" klicke ich nicht zu "http://.../sitename/user/id" komme sondern zu "http://.../sitename/user/".So funktioniert das ganze nicht. Wenn ich die ID händisch eingebe klappt es und der Block wird angezeigt.
Es wäre sehr nett wenn mir jemand sagen könnte wie man das ändert so dass die ID da steht oder wie man in diesem Fall den Code erweitern muss,dass es auch ohne Id im Link klappt.
Vielen Dank für jede Hilfe!
Frank
- Anmelden oder Registrieren um Kommentare zu schreiben

Hat keiner eine Idee?
am 19.04.2012 - 14:27 Uhr
Hat keiner eine Idee? Funktioniert sowas bei jemanden in Drupal 7 ?
Wahrscheinlich bin ich wieder
am 20.04.2012 - 10:40 Uhr
Wahrscheinlich bin ich wieder einmal der einzige der ein solches Problen hat :-(
Falls es in dieser weiten Drupalwelt nochjemanden gibt, welcher dieses Problem hat, hier ein workarround:
Ich habe mit dem Module Menu Token http://drupal.org/project/menu_token einen neuen Menueintrag "My Profile" mit folgendem Link "user/[current-user:uid]" und der Einstellung "Method for Users = User from Context" erstellt. Den Standart Menüeintrag (man kann ihn nicht löschen) habe ich ins nirvana geschickt indem ich es in ein nicht benutzes Menü geschoben habe.
Viele Grüße
Frank
Soo.. Falls es jemanden nutzt
am 20.04.2012 - 11:02 Uhr
Soo.. Falls es jemanden nutzt sind hier noch die verschiedenen Module. Bei dem Modul "user_is_rtid1" muss die Id natürlich an der Id des "Freundschaftstyp" angepasst werden.
Für erfahrene Drupaler macht das natürlich keinen Sinn die Module hier herein zu stellen. Aber allen Neulingen und Unwissenden so wie ich es bin... viel spaß damit !
Beste Grüße
Frank