Funktion user_load nicht gefunden
Eingetragen von wanneng (103)
am 12.12.2012 - 12:05 Uhr in
am 12.12.2012 - 12:05 Uhr in
Hallo,
Ich habe eine komisch Fehler:
Fatal error: Call to undefined function user_load() in C:\xampp\htdocs\drupal7\sites\all\modules\my\my.module on line 4
code wie unten:
<?php
global $user;
debug($user); //ok
$account = user_load($user->uid); //Fehler
?>
wer hat eine Idee?
wanneng
- Anmelden oder Registrieren um Kommentare zu schreiben
Die Funktion gehört zum
am 12.12.2012 - 13:00 Uhr
Die Funktion gehört zum Drupal Core Modul User und sollte daher existieren. Hast Du mal alle Caches gelöscht?
Beste Grüße
Werner
wenn user_load() in Anfang
am 12.12.2012 - 14:59 Uhr
wenn user_load() in Anfang der my.module steht, functioniert es nicht.
Wenn es in einer function steht, dann funktioniert es. z.B.
function my_xxxxxx($form, &$form_state) {
$a=user_load(1);
debug($a); //OK
}
ganz komisch.
Du solltest Dir für eine
am 12.12.2012 - 15:17 Uhr
Du solltest Dir für eine saubere Programmierung angewöhnen, PHP-Code im eigenen Modul nur innerhalb von Funktionen zu haben. Sonst ist die Reihenfolge der Ausführung durch die Ladesequenz der Module gegeben und daher fehlen zu dem Zeitpunkt noch gewisse Teile. Bei Funktionen in Modulen ist klar, daß die erst dann aufgerufen werden, wenn es in Drupal einen Grund dafür gibt. Dann sollten alle relevanten Code-Stellen bereits existieren.
Beste Grüße
Werner
Das ist mir klar. Meine Frage
am 12.12.2012 - 17:10 Uhr
Das ist mir klar. Meine Frage ist, wenn die Funktion debug() (Zeile 3) funktioniert, dann muss die kommend user_load() (Zeile 4) auch funktionieren. Oder?
wanneng
Nein, wie schon
am 12.12.2012 - 17:37 Uhr
Nein, wie schon erklärt.
Beste Grüße
Werner
debug() und user_load()
am 13.12.2012 - 08:34 Uhr
debug()
unduser_load()
werden in unterschiedlichen Dateien definiert. Es kann also durchaus sein, dass erst die Datei mitdebug()
geladen wird, dann deine Modul-Datei und dann das user-Modul, welchesuser_load()
implementiert. Und schon hat man besagten Fehler.Davon mal abgesehen ist
$account = user_load($user->uid);
irgendwie sinnfrei, oder?[gelöst] user_load()
am 13.12.2012 - 11:52 Uhr
Danke,
Eigentlich möchte ich nur kurz schauen, wie genau ist eine Fieldname in User-account. Dann habe ich die debug() und user_load() in my.module schnell eingebaut.
Zum Testen, Ich habe user_load() in Anfang der node.module und menu.module eingebaut.
Bei node.module erscheint die gleich Fehlermeldung, aber bei menu.module gibt es keine Fehlermeldung.
wanneng