Inhalte des momentan betrachteten Benutzers anzeigen
am 10.02.2010 - 11:43 Uhr in
hi,
ich versuche ein Menü zu erstellen, welches mir Links zu den Inhalten eines bestimmten Benutzers anzeigt. Ein Benutzer XY kann z.B. Bildergalerien und Blogs erstellen. Nun soll auf der Seite des Benutzers eine Navigation erscheinen (in diesem Beispiel also mit den Punkten "XY's Bildergalerien" und "XY's Blogs"), welches mir nur die Inhalte anzeigt, welche auch von dem jeweils betrachteten Benutzer erstellt wurden.
Ich hab versucht mittels Views.module ein View zu erstellen aber ich finde keinen Filter der mir diese Option gibt (der Filter "Current User" ist ja für den angemeldeten Benutzer gedacht). Muss ich das mittels Arguments oder Relations lösen? Kenne mich mit Views.modules noch nicht so 100%ig gut aus.
Für einen hilfreichen Tipp wäre ich sehr dankbar :)
Gruß.
- Anmelden oder Registrieren um Kommentare zu schreiben

Mit dem Argument "Node: User
am 10.02.2010 - 11:51 Uhr
Mit dem Argument "Node: User posted or commented" und dem Standardargument "Benutzer-ID aus der URL" solltest Du es hinbekommen.
hi, Ok danke, das werd ich
am 10.02.2010 - 12:11 Uhr
hi,
Ok danke, das werd ich gleich mal ausprobieren! :)
Gruß.
Mein View sieht jetzt
am 10.02.2010 - 12:37 Uhr
Mein View sieht jetzt folgendermaßen aus (siehe Bild). Wenn ich jetzt von Hand "http://meinedomain.de/user/1/galleries" oder "http://meinedomain.de/user/3/galleries" in den Browser eingebe (siehe Path unter Page Settings im Bild), dann erhalte ich genau das was ich möchte, nämlich nur die Bildergalerien der jeweiligen UID in der URL.
Aber wenn ich nun einen Menüpunkt unter Page Settings hinzufügen möchte, dann meckert Views dass ein "%" im Pfad nicht erlaubt wäre. Und wenn ich unter "admin/build/menu-customize/navigation" einen neuen Menüpunkt von Hand hinzufügen möchte, dann hab ich keine Möglichkeit die UID des jeweiligen Benutzerprofils zu übergeben.
Wie kann ich das lösen?
Vielen Dank schon mal! :)
Ich denke ich hab ne Lösung
am 10.02.2010 - 13:40 Uhr
Ich denke ich hab ne Lösung gefunden. Ich dachte eigentlich, dass man so etwas einfacher umsetzen könnte, aber so ists mir auch Recht :)
Meine Lösung: http://blip.tv/file/1768346
Gruß.
Ok, das war nur die halbe
am 10.02.2010 - 13:52 Uhr
Ok, das war nur die halbe Lösung, denn ich weiß nicht wie man den Benutzer des jeweiligen Profils ausliest. In dem Video wird nur der eingeloggte Benutzer ausgelesen, aber ich brauche die Daten des Benutzerprofils.
Wer weiß da Rat?
Gruß.
Hat sich erledigt ;) Für
am 10.02.2010 - 14:09 Uhr
Hat sich erledigt ;)
Für die, die sich das Video anschauen:
In dem Video geht es darum, dass man als Benutzer einen Link zu einem View innerhalb seines Profils anlegt. Das View zeigt eine Übersicht aller selbst erstellter Blogposts und soll auch nur die eigenen Blogs auflisten.
Um das zu erreichen, wird in dem Video die "user-profile.tpl.php" sowie die "template.php" Datei des Themes angepasst. In der "template.php" Datei wird eine neue
preprocess functionerstellt, welche dieUIDdes angemeldeten Benutzers ausliest. Und genau da hab ich was anderes gebraucht. Ich brauch nicht dieUIDdes angemeldeten Benutzers, sondern dieUIDdes Benutzerprofils welchen ich betrachte. Wenn ich also als Admin angemeldet bin und auf dem Profil des Benutzers XY bin, dann brauch für den Link dieUIDvon XY und nicht von Admin, logisch oder? Will ja die Daten des anderen Benutzers sehen und nicht meine eigenen.Folgendes muss in der
template.phpDatei angepasst werden:Das ist der Code aus dem Video:
<?phpfunction garland_preprocess_user_profile(&$vars) {
$vars['user_custom_navigation'] = l($vars['user']->name . '\'s Galleries', 'user/' . $vars['user']->uid . '/galleries');
}
?>
Und so hab ich ihn angepasst:
<?phpfunction garland_preprocess_user_profile(&$vars) {
$vars['user_custom_navigation'] = l($vars['account']->name . '\'s Galleries', 'user/' . $vars['account']->uid . '/galleries');
}
?>
Also, anstatt
$vars['user']auzulesen muss manaccountauslesen. that's it! :)Ein
print_r($vars)kann immer wieder sehr hilfreich sein ;)Gruß.