angemeldeter Benutzer als Standart bei Benutzerreferenz
Eingetragen von mswaltrop (63)
am 02.05.2010 - 10:55 Uhr in
am 02.05.2010 - 10:55 Uhr in
Hallo,
Kann ich das Feld Benutzerrefferenz irgendwie Standartmäßig mit dem aktuell angemeldeten Benutzer belegen?
- Anmelden oder Registrieren um Kommentare zu schreiben
In den Einstellungen des
am 03.05.2010 - 11:18 Uhr
In den Einstellungen des Benutzerreferenz-Feldes findest du ziemlich weit oben den Punkt "Standartwert", dort drauf klicken und eine Box klappt auf. In dieser Box steht unten der Punkt "PHP-Code" (steht evtl. nur da, wenn das Core-Modul "PHP" aktiviert ist), dort klickst du drauf und es öffnet sich wieder eine Box. In dieser Box findest du ein Text-Feld. In dieses Textfeld trägst du folgenden Code ein:
global $user;
$uid = $user->uid;
return array(
0 => array('uid' => $uid),
);
Speichern und fertig.
Hallo, Danke für deine
am 03.05.2010 - 11:43 Uhr
Hallo,
Danke für deine Hilfe.
Allerdings erhalte ich mit dem Code folgende Fehlermeldung:
Der PHP-Code für den „Standardwert“ lieferte den ungültigen Wert „Array ( [0] => Array ( [uid] => 1 ) ) “ zurück.
Mmmh, hast du in den PHP-Code
am 03.05.2010 - 15:28 Uhr
Mmmh, hast du in den PHP-Code das "uid" in eckige Klammern geschrieben? Also so hier: [uid]
Denn das muss in Anführungszeichen oder Hochkommas geschrieben werden, also 'uid'
Ansonste... keine Ahnung, der Code funktionier so wie er soll.
Hast du in den Kasten für den PHP-Code noch irgendwas anderes geschrieben, als den von mir geposteten Code, also PHP-Begrenzer oder sowas?
Edit:
Geh bitte mal in die Konfiguration des Feldes, kopiere den kompletten Inhalt des PHP-Kastens und füge ihn mal hier als Zitat ein.
Zitat: global $user; $uid =
am 03.05.2010 - 20:07 Uhr
global $user;
$uid = $user->uid;
return array(
0 => array('uid' => $uid),
);
Ich denke, ich weiß, wo bei
am 03.05.2010 - 20:26 Uhr
Ich denke, ich weiß, wo bei dir der Fehler liegt.
Als ich das getestet habe, hatte ich bei "Benutzerrollen auf die referenziert werden kann:" keine Häkchen gesetzt, damit können alle User referenziert werden.
Ich nehme einfach mal an, dass du dort bestimmte Rollen ausgewählt hast, deren Mitglieder man referenzieren kann, oder?
Der User-1 hat standardmäßig keine Rollen zugewiesen. Damit taucht er nicht in der Liste der referenzierbaren User auf. Und wenn du als User-1 versuchst, einen solchen Inhalt zu erstellen, dann kommt diese Fehlermeldung, weil der User-1 eben nicht zu den möglichen Werten gehört, und Drupal somit versucht, einen nicht zulässigen Wert als Standard-Wert zu setzen.
Pfuh, konntest du mir folgen? ^^
Ja, ich kann dir folgen und
am 03.05.2010 - 21:17 Uhr
Ja, ich kann dir folgen und das klingt plausibel.
Das heisst es müsste gehen, wenn ich eine if Schleife einbaue.
werde es morgen mal ausprobieren.
Vielen Dank für deine Hilfe noch einmal.
Eine If-Schleife? Meine
am 03.05.2010 - 21:27 Uhr
Eine If-Schleife? Meine Lehrerin für Informatik-Systeme würde dich für diesen Ausdruck lynchen. Es gibt keine If-Schleifen! ^^ Es gibt For- und While-Schleifen (in anderen Sprachen noch Repeat-Schleifen) und If-Anweisungen ;-)
Willst du dann in der If-Anweisung prüfen, ob der User eine bestimmte Rolle hat?
Ich würde dem User-1 einfach eine der referenzierbaren Rollen zuweisen.
Ich meinte auch if Anweisung.
am 04.05.2010 - 07:16 Uhr
Ich meinte auch if Anweisung. War schon spät gestern :)
Ich habe es jetzt so gelöst:
global $user;
$uid = $user->uid;
if($uid <> 1){
return array(
0 => array('uid' => $uid),
);
} else{
return array(
0 => array('uid' => 0),
);
}
Funktioniert super.