CCK Imagefield Bild statt Standard Userbild
am 01.11.2008 - 09:56 Uhr in
Ich benutze Node Profile und selbiges enthält ein Benutzerbild. (einfach über ein imagefield). Nun möchte ich dieses Bild statt den normalen Userbild verwenden, wenn der Avatar des Users z.B. im Gästebuch angezeigt wird (es ist eine Community mit Pro-User Gästebuch).
Wie kann ich ausshalb seines Nodes also ein CCK Feld ansprechen, und in diesem Falle abhängig vom User? Meine Denkrichtung als Coding-Stümper ist: einen node_load für den entsprechenden content type durchführen und dem noch die uid mitgeben, damit das abhängig vom User geschieht, dann sollte das Feld doch zur Verfügung stehen, um fast überall eingefügt zu werden?
So etwas ähnliches habe ich hier gefunden: http://www.drupalcenter.de/node/11703 das ist aber ein anderer Fall.
- Anmelden oder Registrieren um Kommentare zu schreiben
Für node_load brauchste ja
am 01.11.2008 - 10:11 Uhr
Für node_load brauchste ja die nid. Hat jeder User nur ein nid von dem bestimmten Nodetyp, wenn ja. Anfrage an DB wo die node->uid == $user->uid ist. Dann haste deine nid und kannste es einfach in node_load reinsetzen.
----------------------------------------
Alle Angaben ohne Gewähr!!:D
http://www.tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Das Verhältnis anderen zu helfen muss höher sein, als von anderen Hilfe zu erfragen/erwarten.
<?phpfunction
am 01.11.2008 - 11:42 Uhr
<?php
function jabber_user_picture($account) {
if (variable_get('user_pictures', 0)) {
// load the nodeprofile, and load the path of the picture
$node = nodeprofile_load('uprofile', $account->uid);
$fid = $node->field_avatar[0]['fid'];
$path = db_result(db_query("SELECT path FROM {files} where fid = %d", $fid));
$picture = file_create_url($path):
if (isset($picture)) {
$alt = t("@user's picture", array('@user' => $account->name ? $account->name : variable_get('anonymous', t('Anonymous'))));
$picture = theme('image', $picture, $alt, $alt, '', FALSE);
if (!empty($account->uid) && user_access('access user profiles')) {
$picture = l($picture, "user/$account->uid", array('title' => t('View user profile.')), NULL, NULL, FALSE, TRUE);
}
return "<div class=\"picture\">$picture</div>";
}
}
}
?>
Natürlich nicht getestet
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Thanx very mucho, compadres
am 01.11.2008 - 13:37 Uhr
ah, das geht doch schon in eine sehr gute Richtung, das Finetuning hole ich mir im Channel ab...
Dereine hat neues Avatar. Öfter mal wat frisches!
Proud to be a Snippet-Würger