Benutzerbild in der Buddylist + Imagecache
am 16.12.2007 - 03:06 Uhr in
Ich verwende nach dem Tutorial von http://www.lullabot.com/articles/imagecache_example_user_profile_pictures
Imagecache zum skalieren der Benutzebilder.
Nun habe ich das Profil Individualisiert und ein Benutzergästebuch und eine Freundeübersicht (buddylist-Modul) hinzugefügt. Durch die Hilfe von quiptime habe ich die Größe der Benutzerbilder in den Gästebucheinträgen schon anpassen können (http://www.drupalcenter.de/node/7134).
Nun will ich auch die Größe der Bilder die durch die Buddylist ausgegeben werden anpassen.
Das Benutzerbild wird zurzeit über folgenden Code ausgegeben:
<div class="thumbnail">
<?php print $uid?>
<br />
<?php print l($name, "user/$usernode_users_uid")?>
</div>
Die Ausgabe sind dann folgendermaßen aus:
<div class="thumbnail">
<div class="picture"><a href="/user/1"><img src="http://www.meineDomain.de/files/imagecache/medium/files/pictures/picture-1.jpg" alt="" title=""></a></div><br>
<a href="/user/1">Admin</a>
</div>
</div>
ich möchte Sie aber wie folgt haben:
http://www.meineDomain.de/files/imagecache/thumb/files/pictures/picture-1.jpg
@quiptime
Ich hab es schon mit der Modifizierung deines Codes versucht:
<?php
if ($profileuser->uid) {
$picture = preg_replace("/.*\//", "", $profileuser->uid);
$user_picture ='files/pictures/'.$picture;
}
else {
$user_picture = variable_get('user_picture_default', '');
}
print theme('imagecache', 'thumb', $user_picture);
?>
Leider ohne erfolg.
- Anmelden oder Registrieren um Kommentare zu schreiben
Die Frage ist: Wer gibt den
am 16.12.2007 - 03:43 Uhr
Die Frage ist: Wer gibt den Code mit den Buddylistbildern aus?
Welches Modul wird in dem Zusammenhang verwendet?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Das macht das Modul
am 16.12.2007 - 16:43 Uhr
Das macht das Modul Buddylist: http://drupal.org/project/buddylist
Das Modul hat auch einen buddylist.view.inc in die habe ich schon rein geschaut und folgende Zeilen Code entdeckt.
'uid' => array(
'name' => t('Buddylist: User Picture'),
'handler' => 'views_handler_field_userpic',
'sortable' => false,
'help' => t('This will display the user picture of the owner of the buddylist.'),
),
Bevor ich weiter nach der
am 16.12.2007 - 17:29 Uhr
Bevor ich weiter nach der Loesung suche. Etwas Grundsaetzliches.
Wenn Du Code postest macht es ganz selten einen Sinn, wenn Du nicht auch dazu schreibst in welcher Datei sich der gepostete Code befindet.
Ist Dir schon mal aufgefallen, das wenn ich Code poste IMMER dabei steht in welcher Datei der Code einzutragen ist bzw. in welcher Datei er sich befindet?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Hier hat man das schon mal
am 16.12.2007 - 17:51 Uhr
Hier hat man das schon mal gemacht:
http://drupal.org/node/35728
http://www.drupalcenter.de/node/4279
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Sorry, hab ich im letzten
am 16.12.2007 - 20:19 Uhr
Sorry, hab ich im letzten Post gemacht, aber vielleicht nicht klar genug. Den Code den ich gepostet habe ist aus der Datei:
buddylist.view.inc
'uid' => array(
'name' => t('Buddylist: User Picture'),
'handler' => 'views_handler_field_userpic',
'sortable' => false,
'help' => t('This will display the user picture of the owner of the buddylist.'),
),
Welche bei dem Modul buddylist dabei ist.
Danke für die beiden Links,
am 16.12.2007 - 20:25 Uhr
Danke für die beiden Links, ich habe das ganze ja schon soweit lauffähig das die Benutzerbilder meiner "Buddy's" angezeigt werden. Die Problematik ist die das das falsche 'preset' des Benutzerbildes angezeigt wird. änlich wie bei dem Beitrag zum Gästebuch-Benutzerbild.
Poste bitte den Code den Du
am 16.12.2007 - 20:41 Uhr
Poste bitte den Code den Du eingebaut hast.
------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
In der node-uprofil.tpl.php
am 16.12.2007 - 22:54 Uhr
In der node-uprofil.tpl.php ist dieser Code für die Buddylist drin.
<?php
// Muss noch bearbeitet werden
$view = views_get_view('buddylist_of_uid');
print views_build_view('embed', $view, array(strval($profileuser->uid)), false, false);
?>
</div></div>
</div>
</div>
in der views-list-buddylist_of_uid.tpl.php ist dieser Code drin:
<div class="thumbnail">
<?php print $uid?>
<br />
<?php print l($name, "user/$usernode_users_uid")?>
</div>
Und mit diesem Code werden
am 16.12.2007 - 22:59 Uhr
Und mit diesem Code werden die User Images, in der falschen Groesse, angezeigt?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Ja. Ich habe zwei Presets
am 16.12.2007 - 23:14 Uhr
Ja.
Ich habe zwei Presets mit Imagecache für das Profilbild angelegt, einmal Thumb und einmal Medium.
Medium verwende ich allgemein für das Benutzerbild. Es wird somit im Profil mit der Größe 152x152 Pixel angezeigt. Im Profilgästebuch werden (dank deiner Hilfe) die Profilbilder derjenigen die einen Eintrag hinterlassen verkleinert (mit dem Preset Thumb) dargestellt. Nun habe ich aber auch die Buddylist. dabei werden die Bilder mit dem standart Preset Medium dargestellt also in der Größe 152x152. Ich will Sie aber auch verkleinert Wie bei dem Profilgästebuch, also mit dem Preset Thumb ausgeben.
Dafür habe ich versucht deinen Code aus der angepassten guestbook-entry-tpl.php in die views-list-buddylist-of-uid.tpl.phpeinzufügen
<?php
if ($profileuser->uid) {
$picture = preg_replace("/.*\//", "", $profileuser->uid);
$user_picture ='files/pictures/'.$picture;
}
else {
$user_picture = variable_get('user_picture_default', '');
}
print theme('imagecache', 'thumb', $user_picture);
?>
mit dem erfolg das ich nun nur noch das verkleinerte default-image zu sehen bekomme.
Worum ich gebeten hatte war
am 16.12.2007 - 23:27 Uhr
Worum ich gebeten hatte war Folgendes. Poste mir den kompletten Code mit dem in der Buddyliste bereits Userbilder angezeigt werden. Wie Du selbst gesagt hast ist dies mit einem Template realisiert und die in der Buddyliste angezeigten Bilder haben lediglich die falsche Groesse. Poste bitte von diesem Template den kompletten Code.
Das was Du gerade bzw. vorhin gepostet hast sind doch nur Code-Teile. Oder?
Ich bin nicht Jesus und kann nicht telepatisch auf Deinen Rechner sehen.
Wenn Du in der Buddylist bereits Bilder hast dann bitte den Code, aber komplett. Sonst wird das hier wieder ein Thread mit 50 Posts.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Sorry aber in der
am 16.12.2007 - 23:49 Uhr
Sorry aber in der views-list-buddylist_of_uid.tpl.php steht nicht viel mehr drin.
Aber hier noch mal die vollständige views-list-buddylist_of_uid.tpl.php
<?php
/**
* views template to output one 'row' of a view.
* This code was generated by the views theming wizard
* Date: Thu, 04/12/2007 - 22:14
* View: buddylist_of_uid
*
* Variables available:
* $view -- the entire view object. Important parts of this object are
* buddylist_of_uid, .
* $view_type -- The type of the view. Probably 'page' or 'block' but could
* also be 'embed' or other string passed in from a custom view creator.
* $node -- the raw data. This is not a real node object, but will contain
* the nid as well as other support fields that might be necessary.
* $count -- the current row in the view (not TOTAL but for this page) starting
* from 0.
* $stripe -- 'odd' or 'even', alternating.
* $uid -- Display the user picture of the author.
* $uid_label -- The assigned label for $uid
* $title -- Display the title of the node.
* $title_label -- The assigned label for $title
*
* This function goes in your views-list-buddylist_of_uid.tpl.php file
*/
?>
<div class="thumbnail">
<?php print $uid?>
<br />
<?php print l($name, "user/$usernode_users_uid")?>
</div>
Die buddylist_views.inc ist bei dem Modul dabei.
der Inhalt von ihr ist zu groß um den hier vollständig zu posten.
der einzige Code bezogen auf die Buddylist sind die 5 zeilen aus dem vorigen Post.
Diese Zeilen die in der node-uprofil.tpl.php sind
<?php
// Muss noch bearbeitet werden
$view = views_get_view('buddylist_of_uid');
print views_build_view('embed', $view, array(strval($profileuser->uid)), false, false);
?>
Ich hoffe das reicht :) ansonsten kann ich die Dateien irgendwo anhängen?
OK, die buddylist_views.inc
am 17.12.2007 - 00:08 Uhr
OK, die buddylist_views.inc kann ich mir selber ansehen.
Wenn Du hier
<?php
<div class="thumbnail">
<?php print $uid?>
<br />
<?php print l($name, "user/$usernode_users_uid")?>
</div>
?>
die Zeile mit dem print kommentierst,
<?php
<div class="thumbnail">
<?php print $uid?>
<br />
<?php //print l($name, "user/$usernode_users_uid")?>
</div>
?>
Wass passiert dann?
------------------------------------------------------------
// Muss noch bearbeitet werden
$view = views_get_view('buddylist_of_uid');
Was bedeutet "Muss noch bearbeitet werden"? Existiert ein View buddylist_of_uid ?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Der Kommentar ist von
am 17.12.2007 - 00:38 Uhr
Der Kommentar ist von mir.
wenn ich die Zeile mit Print Auskommentiere ist der Benutzername nicht mehr da. Das Bild wird über diese Zeile ausgegeben
<?php print $uid?>
Ja die Zeilen bezüglich der buddylist_of_uid, existiert nicht, nur eine views-list-buddylist_of_uid.tpl.php
@Mattes, EditAber hier noch mal
am 17.12.2007 - 01:23 Uhr
Aber hier noch mal die vollständige views-list-buddylist_of_uid.tpl.php
<?php
/**
* views template to output one 'row' of a view.
* This code was generated by the views theming wizard
* Date: Thu, 04/12/2007 - 22:14
* View: buddylist_of_uid
* $uid -- Display the user picture of the author.
Dieser Template-Code bezieht sich auf einen View!
Was ist mit diesem View? Dem Namen nach wird mit ihm eine Buddyliste ausgegeben.
Edit
Wie ich gerade feststelle arbeiten das normale Userimage, View und Imagecache nicht zusammen.
Wie wird von einem User sein UserImage eingegeben?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Das ist die view: $view =
am 17.12.2007 - 01:32 Uhr
Das ist die view:
$view = new stdClass();
$view->name = 'buddylist_of_uid';
$view->description = 'Buddies of the given user';
$view->access = array (
0 => '2',
);
$view->view_args_php = '';
$view->page = TRUE;
$view->page_title = 'Buddylist';
$view->page_header = '';
$view->page_header_format = '1';
$view->page_footer = '';
$view->page_footer_format = '1';
$view->page_empty = 'User has no buddies';
$view->page_empty_format = '1';
$view->page_type = 'list';
$view->url = 'buddies-of-uid';
$view->use_pager = TRUE;
$view->nodes_per_page = '10';
$view->sort = array (
array (
'tablename' => 'node',
'field' => 'created',
'sortorder' => 'DESC',
'options' => 'normal',
),
);
$view->argument = array (
array (
'type' => 'buddylist_buddies',
'argdefault' => '7',
'title' => '',
'options' => '',
'wildcard' => '',
'wildcard_substitution' => '',
),
);
$view->field = array (
array (
'tablename' => 'users',
'field' => 'uid',
'label' => '',
),
array (
'tablename' => 'usernode_users',
'field' => 'name',
'label' => '',
'handler' => 'usernode_views_handler_field_username_text',
),
array (
'tablename' => 'usernode_users',
'field' => 'uid',
'label' => '',
),
);
$view->filter = array (
array (
'tablename' => 'node',
'field' => 'status',
'operator' => '=',
'options' => '',
'value' => '1',
),
array (
'tablename' => 'node',
'field' => 'type',
'operator' => 'OR',
'options' => '',
'value' => array (
0 => 'usernode',
),
),
);
$view->exposed_filter = array (
);
$view->requires = array(node, users, usernode_users);
$views[$view->name] = $view;
Es wird über das Standard Benutzerbild-Upload hinzugefügt.
Edit - Also, wir brauchen in dem
am 17.12.2007 - 01:39 Uhr
Also, wir brauchen in dem View mit der Buddyliste die Node ID.
Die muss als Feld noch zusaetzlich ausgewaehlt werden. Da aber ein Template verwendet wird wird die Node ID spaeter nicht angezeigt.
Mittels der Node ID kann man die Author/User ID ermitteln.
Und mit der User ID koennen wir das Gleiche wie im Gaestebuch machen: Ueber theme_image_cache das richtige Bild ausgeben.
Edit
Das Feld User ID im View ausgeben waere das Beste. Aber dieses Feld steht nicht zur Wahl. Oder?
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Doch unter Felder, gibt es
am 17.12.2007 - 02:03 Uhr
Doch unter Felder, gibt es den Punkt: Display the user id.
Na dann fuege dem View
am 17.12.2007 - 02:39 Uhr
Na dann fuege dem View dieses Feld hinzu.
Mach eine Probe aufs Example und pruefe ob die ID vom View angezeigt wird. Wenn ja, dann
erstelle mit dem View Theme-Wizzard fuer diesen View ein neues Template.
Poste bitte den Code fuer die Template-Datei, welchen der Wizzard erzeugt.
Es mus da so etwas drin stehen wie das Folgende. Halt nur mit einer Variable mehr - der User ID:
<?php
/**
* views template to output one 'row' of a view.
* This code was generated by the views theming wizard
* Date: Thu, 04/12/2007 - 22:14
* View: buddylist_of_uid
*
* Variables available:
* $view -- the entire view object. Important parts of this object are
* buddylist_of_uid, .
* $view_type -- The type of the view. Probably 'page' or 'block' but could
* also be 'embed' or other string passed in from a custom view creator.
* $node -- the raw data. This is not a real node object, but will contain
* the nid as well as other support fields that might be necessary.
* $count -- the current row in the view (not TOTAL but for this page) starting
* from 0.
* $stripe -- 'odd' or 'even', alternating.
* $uid -- Display the user picture of the author.
* $uid_label -- The assigned label for $uid
* $title -- Display the title of the node.
* $title_label -- The assigned label for $title
*
* This function goes in your views-list-buddylist_of_uid.tpl.php file
*/
?>
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Leider bis dato noch nicht
am 17.12.2007 - 02:56 Uhr
Leider bis dato noch nicht gemacht, wo und wie muss ich das machen? Um das ganze für dich etwas einfacher zu gestalten,könnte ich dir einen Account anlegen Damit du das ganz von innen sehen könntest?
Wie jetzt, wer hat denn den
am 17.12.2007 - 03:07 Uhr
Wie jetzt, wer hat denn den existierenden View und das dazugehoerige Template erstellt?
Ein Account wurde die Sache vereinfachen und beschleunigen.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Bekommst gleich eine Mail
am 17.12.2007 - 03:13 Uhr
Bekommst gleich eine Mail mit den Zugangsdaten.
Der Views ist aus dem Tutorial von Shellmedia.
Ich mache das Morgen.
am 17.12.2007 - 03:40 Uhr
Ich mache das Morgen. Schicke mir bitte noch den FTP-Zugang. Muss in 2 Templatedateien etwas aendern.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Ok Danke Mail ich dir Morgen
am 17.12.2007 - 03:49 Uhr
Ok Danke Mail ich dir Morgen zu
@quiptime Hast du meine
am 19.12.2007 - 14:44 Uhr
@quiptime
Hast du meine Mails bekommen?
Selbes Problem, aber nichts verstanden
am 11.04.2008 - 22:11 Uhr
Hey,
ich habe ein ähnliches Problem mit dem Imagecache Modul bzw. dem Imagecache Profile Pictures Modul. Ich benutze Drupal 5.7 und habe versucht die Module nach diesem Tutorial http://www.lullabot.com/articles/imagecache_example_user_profile_pictures
zum Laufen zu bringen. Aber das klappt vorne und hinten nicht.
Das Theme das ich verwende hat keine template.php. Wenn ich eine mit dem angegebenen Code erstelle und in den Theme Ordner einfüge, geht garnichts mehr (Fatal Error...). Wenn ich keine erstelle und nur mit den presets des Imagecache Profile Pictures Moduls arbeite, wird einmal ein Profilbild in der gewünschten Größe hochgeladen und angezeigt, allerdings kann ich anschließend kein neues Profilbild hochladen. Beim Versuch dies zu tun bekomme ich etliche Fehlermeldungen und es wird wieder das Bild angezeigt das ich zuvor hochgeladen habe.
Ich habe leider auch kaum Ahnung von php und weiß echt nicht wo ich da nun ansetzen soll um das Problem zu beheben.
Für Hilfe wäre ich sehr dankbar...
Hallo Immo, ich versuche
am 10.05.2008 - 07:24 Uhr
Hallo Immo,
ich versuche zwar auch noch diese Erweiterung erfolgreich zu implementieren, denke aber, dass bei dir irgendwas (vielleicht schon bei der Installation) schief gelaufen ist.
Poste doch mal die Fehlermeldung, dann kann man dir vielleicht weiter helfen. Alternativ wuerd ich vielleicht vorschlagen, die Installation noch mal von Anfang an Schritt fuer Schritt durchzugehen ...
Gruss
SirBerberitz
ich schieb mal nach
am 18.09.2008 - 03:04 Uhr
ich schieb mal nach oben....
gab es hier schon eine lösung?