ImageCache: Nutzername als Copyright im Bild
Eingetragen von tfranz (125)
am 06.05.2009 - 12:16 Uhr in
am 06.05.2009 - 12:16 Uhr in
Wie kann ich mit Hilfe einer ImageCache-Aktion einem Bild, welches durch CCK-FileField/ImageField hochgeladen wurde, den Username "reinstempeln" lassen?
Wenn ich in den Textactions (Text, Evaluate text as PHP code) return 'Copyright by '.$node->name;
eingebe, erscheint auf dem Bild nur der vordere Textteil "Copyright by", aber (natürlich?) nicht der Name ...
Ist das überhaupt möglich? Oder hat ImageCache eigentlich "keine Ahnung", wer das Bild hochgeladen hat?
Danke für Eure Hilfe,
Tobias
- Anmelden oder Registrieren um Kommentare zu schreiben
Hi, ich weiß nun nicht, ob
am 07.05.2009 - 12:27 Uhr
Hi,
ich weiß nun nicht, ob das Modul Tokens oder den Benutzernamen als Wasserzeichen nutzen kann, aber grundsätzlich kann es Wasserzeichen oder einen Text einfügen:
http://drupal.org/project/imagecache_actions
---
Viele Grüße,
Kars-T
Viele Grüße,
Kars-T
global
am 07.05.2009 - 12:52 Uhr
Moin!
Vielleicht hilft noch ein
<?php global $user ?>
vor dem Zurückgeben des Textes.hth,
Stefan
--
es soll ja wirklich schonmal jemand eine Lösung für ein Problem gefunden haben, indem er danach gesucht hat...
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Mit den ImageCache-Actions
am 07.05.2009 - 14:18 Uhr
Mit den ImageCache-Actions müsste es zwar funktionieren, aber ich bekomme es nicht hin:
mit
<?php global $user ?>
hat es nicht funktioniert ...Ebenso funktioniert
$node = node_load(arg(1)); return $node->name;
nicht.Aus der Beschreibung der Admin-Seite:
Enter PHP code that will return your dynamic text.
EG return format_date(time());
return $file_data->description ? $file_data->description : $node->title;
If it's an image.module image then a $node object with its values may be available.
return $node->title;
return format_date($node->created);
If it's an image that has been attached to a node using CCK-filefield-imagefield (or just filefield) then as well as the parent $node object, a $file_data object that may contain a file description from that file field.
Ich störe mich etwas an dem Text "[...] a $node object with its values may be available [...]" ... vielleicht funktioniert es ja auch gar nicht?! Allerdings bekomme ich noch nicht mal ein
return $node->title;
hin ... mache ich etwas grundsätzlich falsch?!--
Webdesign Lübeck
--
Webdesign Lübeck
Wie gelöst ?
am 20.07.2009 - 09:24 Uhr
Hast Du inszwischen die Lösung herrausgefunden? Ich würde gerne den Usernamen des jeweiligen Users der die Bilder hochgeladen hat, mit im Bild einblenden lassen. Ich bekomme es aber auf diesem Weg auch irgendwie nicht hin. Was genau muss ich dort als PHP-Code eingeben? Oder muss ich eine andere Funktion von Imagecache_Action nutzen um das gewünschte Ergebniss zu erziehlen?
------
Ein Weg bildet sich dadurch,
das er begangen wird.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Nein, ich habe leider keine
am 20.07.2009 - 11:11 Uhr
Nein, ich habe leider keine Lösung gefunden ...
Habe jetzt einen festen Text in den Bildern, aber immer noch keinen "dynamischen" – könnte mir vorstellen, dass es einfach nicht geht ... zumindest habe ich mich damit weitestgehend abgefunden.
Wäre aber weiterhin an einer Lösung interessiert!
--
Webdesign Lübeck
--
Webdesign Lübeck
Wie bekommt man den Benutzernamen statt der UID ins Bild?
am 20.07.2009 - 12:54 Uhr
Also bei mir funktionieren im Imagecache-Action Modul u.a. folgende Ausgaben bei Action "Text":
- normaler Text (Funzt immer)
- bei angeklicktem PHP-Buttom (d.h. Einstellung auf PHP gesetzt):
return $node->title;
return format_date($node->created);
und sogar:
return $file_data->uid;
Hier wird die ID des Users mit ausgegeben der das Bild eigestellt hat! Es muss doch also auch irgendwie möglich sein den Namen des Users mit auszugeben. Ich habe schon eine ganze Reihe an Möglichkeiten ausprobiert, aber ich habe von PHP nun mal keine Ahnung und mache das eher im "try and error"-Verfahren.
Auf der Modulseite sieht es so aus als ob dafür extra ein zusätzliches Feld angelegt wurde(http://cvs.drupal.org/viewvc.py/drupal/contributions/modules/imagecache_...), aber es muss doch auch irgendwie ohne gehen da die UID ja auch ausgegeben werden kann.
Wichtig ist scheinbar das die PHP-Befehle jeweils einzeln in einer Aktion hinzugefügt werden. Zumindest funktioniert es bei mir nur dann.
Es muss doch hier irgend jemanden geben, der das schon mal gelöst hat. Oder der ggf. zumindest mal weiterhelfen kann.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Wenn du PHP benutzen kannst,
am 20.07.2009 - 13:01 Uhr
Wenn du PHP benutzen kannst, dann mach doch sowas wie:
<?php
//wenns der aktuelle ist
global $user;
//sonst laden
//$user = user_load($$file_data->uid);
return $user->name;
?>
---
Viele Grüße,
Kars-T
Viele Grüße,
Kars-T
Benutzername im Bild funzt leider immer noch nicht
am 20.07.2009 - 15:40 Uhr
Hallo Karsten,
Danke für den Versuch :-( Das scheint zwar logisch, aber es funktioniert leider nicht. Jedenfalls nicht wenn ich in die Textactions mit ->Text ->Evaluate text as PHP code verwende. Die
<?php
?>
Möglicherweise kann man auch die "Custom Action" (Run custom php code) verwenden. Dann muss man aber wohl irgendwie alle notwendigen Actionen in PHP-Code vorgeben :-(
Ich hatte halt nur gehofft, das hier eine relativ einfache Ausgabe des Usernamens, des Benutzers der das Bild hochgeladen hat, auf dem Bild möglich ist... (Nicht nur die UID)
------
Ein Weg bildet sich dadurch,
das er begangen wird.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Schreib mal in das
am 20.07.2009 - 16:28 Uhr
Schreib mal in das Feld:
<?php
return $node->name;
?>
natürlich ohne die php tags. Die sind nur zur besseren Lesbarkeit da ;)
---
Viele Grüße,
Kars-T
Viele Grüße,
Kars-T
Username im Bild funktioniert
am 21.07.2009 - 06:31 Uhr
Absolut super, es funktioniert !!!
Danke.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
------
Ein Weg bildet sich dadurch,
das er begangen wird.
Hmmm - ich wollte eben auch
am 18.09.2009 - 11:42 Uhr
Hmmm - ich wollte eben auch mit dem Modul IMAGECACHE EXTRA wie bei redpanda.ch beschrieben ein optisch ansprechendes Userbild im Profil mit Polaroid Effekt erstellen, allerdings klappt die Aktion Text bei mir mit
return $node->name;
leider nicht.Mit obigem PHP Code gibts bei mir nur ne Fehlermeldung:
user warning: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'N u.fid = f.fid WHERE f.filepath = 'sites/default/files/userbilder/picture-60.jp' at line 1 query: SELECT nid, f.fid FROM upload AS u INNER JOIN files AS f N u.fid = f.fid WHERE f.filepath = 'sites/default/files/userbilder/picture-60.jpg' LIMIT 1 in C:\xampplite\htdocs\dart\sites\all\modules\imagecache_actions\utility.inc on line 275.
Jemand nen Tipp, was ich hier tun kann?
---------------------------------------------------------------------------
NEU! Drupalseiten vorstellen, bewerten und kommentieren - Jetzt eintragen!
Drupal 7 Screencasts in deutsch!
Hallo thoor, ich habe genau
am 06.10.2010 - 19:18 Uhr
Hallo thoor,
ich habe genau das gleiche Problem mit dem Username im Userbild! Hast Du da schon eine Lösung ?
LG t-u-x
Das sollte gehen (nicht
am 07.10.2010 - 10:29 Uhr
Das sollte gehen (nicht getested)
$user = user_load($node->uid);
return $user->name;
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
"Sollte" – tut es aber leider
am 07.10.2010 - 11:13 Uhr
"Sollte" – tut es aber (bei mir) aber leider nicht ...
Ich habe mich mittlerweile damit abgefunden.
Ich denke, dass Problem liegt ursächlich darin, dass ImageCache das Bild zu einem Zeitpunkt erstellt (nämlich erst dann, wenn es das erste Mal benötigt wird), an welchem es u.U. keinen direkten Zusammenhang zwischen Node und Bilddatei mehr gibt: ein per CCK hochgeladenes Bild kann ja durchaus auch in anderen Nodes/Views/Blocks dargestellt werden. Woher soll ImageCache wissen, welches Bild in welchem Node vom wem hochgeladen wurde? Diese Verbindung scheint bei mir nicht zu funktionieren.
$user = user_load($node->uid) kommt also in manchen Fällen schlicht zu einem Zeitpunkt, an welchem $node->uid nicht mehr definiert ist – und macht damit die ganze Geschichte unmöglich?!
... wäre aber schön ... :-)
Viele Grüße,
Tobias
--
Webdesign Lübeck