Image Cache und User Visits - Nutzerprofil als Node
am 25.08.2009 - 09:25 Uhr in
Hallo,
ich verwende Content Template für meine Nutzerprofile und habe ein Feld per CCK erstellt, womit die User die Nutzerbilder hochladen können. Ich verwende also nicht die Standard User Picture von Drupal.
Ich habe das Modul "user visits" und "image cache" installiert. Nun möchte ich im Modul "user visits" die letzten Besucher eines Profils mit Bildern anzeigen. Nur das meine Nutzerbilder ein "Node" sind.
Dazu überschreibe ich in meiner template.php die Funktion:
<?php
function MEIN_THEME_user_visits($account, $timestamp = NULL, $referer = NULL) {
$output = '<div>'."\n";
$output .= theme('imagecache', 'thumb4mycontacts', '$node->field_bild[0]['filename']');
$output .= ' <div class="name">'. theme('username', $account) .'</div>'."\n";
$output .=', ';
if ($timestamp) {
$output .= $timestamp ? '<div class="visit">'. t('!time ago', array('!time' => format_interval(time() - $timestamp))) .'</div>'."\n" : '';
$output .= $referer ? ' <div class="referer">'. t('Referer !link', array('!link' => l($referer, $referer))) .'</div>'."\n" : '';
}
$output .= '</div>'."\n";
$output .= '<div style="clear:both;"></div>';
return $output;
}
?>
In der dritten Zeile verwende ich die theme() Funktion zusammen mit Imagecache. Das klappt auch und ich sehe im Quelltext den richtigen Pfad zu meinen Bilder-Ordner:
http://MEINE-DOMAIN/sites/default/files/imagecache/thumb4mycontacts/"
Aber eben müsste nun dynamisch pro User das Nutzerbild im Pfad stehen. Dazu müsste ich irgendwie Zugriff auf das Node Array bekommen. Z.B. so:
<?php
$node->field_bild[0]['filename']
?>
Das klappt aber nicht. Wie kann ich das lösen?
Viele Grüße,
(sorry bin noch Newbie in Drupal. Kann sein dass ich die Begriffe etwas durcheinander bringe...)
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo, ich denke ich bin ein
am 25.08.2009 - 13:37 Uhr
Hallo,
ich denke ich bin ein kleines Stück weiter:
Um Zugriff auf die Nodes zu haben muss man diese nachladen. Ich das habe mal nach der Anleitung von hier probiert: http://blog.quiptime.com/node/4139
In etwa so:
<?php
function MEIN_THEME_user_visits($account, $timestamp = NULL, $referer = NULL) {
global $user;
$nodeprofile = nodeprofile_load('filename', $user->uid);
$nodeprofile->field_bild[0]['value'];
(...)
}
?>
Allerdings bekomme ich dann immer eine Fehlermeldung:
Call to undefined function node_load() (...)
Was mache ich falsch?
Bin ich auf dem Holzweg?
am 27.08.2009 - 16:01 Uhr
Bin ich da auf dem Holzweg? Hat keiner seine Profilbilder als Nodes angelegt?
Wäre super wenn jemanden noch etwas dazu einfällt...
Viele Grüße,
Also ich verstehe da
am 27.08.2009 - 17:52 Uhr
Also ich verstehe da eigentlic nur Bahnhof, aber Du räumst ja ein, daß dir die "echten" Begriffe nicht so geläufig sind ...
Die letzten Besucher eines Profiles kannst Du dir jedenfalls auch schön mit dem Modul VIEWS basteln ...
PS.: Ich arbeite eigentlich immer mit dem CORE PROFILE, aber dass ein Bild ein Node sein könnte, das glaube ich einfach nicht :-)
---------------------------------------------------------------------------
NEU! Drupalseiten vorstellen, bewerten und kommentieren - Jetzt eintragen!
Drupal 7 Screencasts in deutsch!
Hi, erstmal danke für die
am 27.08.2009 - 19:54 Uhr
Hi,
erstmal danke für die Antwort.
Ich verwende das Modul Content Template womit ich aus einem normalen "Node" ein Nutzerprofil erstellen kann. Ich denke das ist soweit klar. Dadurch, dass mein Nutzerprofil ein "normales" Node ist, kann ich per CCK ein Feld vom Typ "Bild" hinzufügen, was letztlich als mein Nutzerbild fungiert.
Das normale Core Profil hätte ich ja gerne verwendet, aber das ist mir an manchen Stellen zu unflexibel. (Zumindest aus meinem Kenntnissstand heraus.)
Aber wenn das mit Views funktioniert wäre das natürlich klasse. Das probiere gleich mal aus.
p.s. ich lese schon fleißig Bücher und Co. und hoffe bald besser mit den Begriffen umgehen zu können :)
Habe ich gestern auch nem
am 27.08.2009 - 20:01 Uhr
Habe ich gestern auch nem "Kollegen" empfohlen: http://mustardseedmedia.com/podcast/episode21 Sieh dir mal das Video an und du wirst erkennen, dass man Nutzerprofile auch mit dem CORE Modul prima hinbekommt.
Das hier: http://www.drupalseite.de/drupalist/thoor ist das CORE Modul mit IMAGECACHE PROFILES, AUTHOR PANE und die darin eingetragenen Drupal Seiten sind ein mit VIEWS erstellter Block.
Was muss Dein Profil denn so können, als daß es so nicht zu bewerkstelligen wäre?
---------------------------------------------------------------------------
NEU! Drupalseiten vorstellen, bewerten und kommentieren - Jetzt eintragen!
Drupal 7 Screencasts in deutsch!
Ja, Bob den Baumeister kenne
am 27.08.2009 - 20:29 Uhr
Ja, Bob den Baumeister kenne ich. :) Sehr genialer Podcast.
Auch wenn das nun etwas vom Thema abweicht: Ich verwende nicht das Core Profil, da ich die Profilseiten mit Panels aufbaue. Ich finde das Modul ziemlich genial, weil man auf alles, z.B. Views, Blocks, Nodes etc., sehr einfach Zugriff hat. Natürlich ist es auch bequem und es geht sehr schnell damit Profile, bzw. Seiten zu bauen. Es gab noch weitere Gründe. Z.B. habe ich eine User Karte und wenn man auf einen Nutzer klickt öffnet sich der Anrisstext des Nutzernodes. Das kann ich wiederum sehr einfach mit Content Template themen. Wahrscheinlich waren da noch ein paar mehr Gründe, aber das habe ich schon wieder vergessen. Ein Wechsel zurück, nur wegen den Profilbesuchern, kommt auf jeden Fall jetzt nicht mehr in Frage. Vielleicht beim nächsten Projekt. :)
So zurück zum Thema:
Das mit Views klingt interessant. Nur finde ich den "Hebel" nicht. Gibt es eine Bedingung die sowas wie "Node - zuletzte angesehen / besucht?" hergibt?
Oder wie baue ich da so eine Bedingung im View auf?
Weil ich es gerade entdeckt
am 08.10.2009 - 20:41 Uhr
Weil ich es gerade entdeckt habe, hier ein paar wirklich gute Gründe warum man das Core Userprofile nicht mehr nutzen sollte:
http://oshyninc.wordpress.com/2009/09/13/drupal-6-user-profile-fields-as...