Gibt es eine Möglichkeit, um die uid von user-Namen in Drupal?
Gibt es eine core-Funktion, um die uid von Usernamen in Drupal?
Oder ich sollte eine db-Abfrage?
mein Feld ist ein Textfeld mit '#autocomplete_path' gleich 'user/autocomplete'
InformationsquelleAutor Nick.h | 2010-10-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie die
user_load
Funktion. Sehen http://api.drupal.org/api/function/user_load/6Insbesondere sehen http://api.drupal.org/api/function/user_load/6#comment-6439
So würde man etwas wie das hier tun:
Einverstanden, das ist langsam. Aber ich dachte, es wäre einfacher für Hamid diesem Weg. Praktisch gesprochen
node_load
, die ist ähnlich im Konzept zuuser_load
eine Menge passiert in Drupal, wenn ich bin nicht falsch, und doch nicht negativ auf die Leistung auswirken in den meisten Fällen. Also dachte ich, es wäre eine gute Idee, zu empfehlenuser_load
Wenn er sich selbst fragt, ob er sollte nur tun, eine db-Abfrage, ich bin sicher, er wird in der Lage sein, es zu tun. Es ist nicht so kompliziert, nachdem alle.
+1 - das wäre die richtige API-Funktion zu verwenden. Bezüglich Leistung,
user_load()
nicht statische caching wienode_load()
tut, also wenn dieser Aufruf ist gemacht werden, Häufig während der Seite-Zyklus, es, könnte, besser sein zu tun, eine benutzerdefinierte Abfrage.Ich Stimme mit Henrik. Nicht user_load (), es sei denn, Sie sind über, um tatsächlich mehr Informationen als nur die uid. Es nicht " cache in D6. D7 auf der anderen Seite...
InformationsquelleAutor Sid Kshatriya
Irgendwie konnte ich nicht die Abfrage funktioniert, aber ich fand das:
finden Sie unter: http://api.drupal.org/api/drupal/modules%21user%21user.module/function/user_load_by_name/7
InformationsquelleAutor Willem de Jong
Den Benutzer-load-Funktion ist sehr schwer, würde mehr Ressourcen und produziert mehr Daten als erforderlich, Hier ist eine nette kleine Funktion für Sie:
Hinweis: Dieser code ist überarbeitet und input-wird escaped, sodass der code ist nicht gefährlich in keiner Weise.
wow, das ist sehr gefährlich-Abfrage gegeben, die seine Einnahme Eingabe aus einem Formular... google "injection attack"
hey danke, war gerade in Eile, werde den code aktualisieren, jetzt
ja, es ist gefährlich, aber das ist die beste Performance-Lösung, insbesondere wenn viele Benutzer vorhanden sind, anzuzeigen. Ich habe versucht, die anderen Methoden, aber in meinem Fall user_load ließ mich Abmelden... also ich bin der Bearbeitung der Antwort zu setzen check_plain rund um die username-string.
es gibt keine Notwendigkeit für check_plain in dieser Abfrage, da die übergebenen Argumente als ich hast, oben ist entkommen von drupal, bevor die Abfrage gemacht wird
InformationsquelleAutor Joshua Kissoon
Können Sie alle info über angemeldete Nutzer mit der globalen
$user
variable.Der code ist:
InformationsquelleAutor Neeraj
Gibt es keine fertige API Funktion dafür, nicht dass ich wüsste. Aber Sie können Ihre eigenen, wenn Sie benötigt mehrere Orte. Es sollte ziemlich einfach und geradlinig, um die Abfrage der db für die uid.
InformationsquelleAutor googletorp