CCK und rollenspezifische Default Werte
am 09.01.2014 - 09:03 Uhr in
Hallo zusammen,
folgendes Problem liegt mir auf dem Herzen:
Ich möchte in einem Feld, welches zur Eingabe eine Auswahlliste bereit stellt, je nach Rolle eines berechtigten Users
verschiedene Werte anbieten und zudem jeweils andere Default Werte für das Feld haben.
Das Ganze wollte ich mit dem CCK Modul lösen, was beim ersten Teil des Problemes auch Funktioniert.
In "Allowed values PHP code " habe ich jetzt beispielsweise folgendes zu stehen:
<?php
$values = array('Ort1' => 'Ort1' , 'Ort2' => 'Ort2');
global $user;
if (in_array('administrator', array_values($user->roles))) {
return array('Ort3' => 'Ort3' , 'Ort2' => 'Ort2' , 'Ort1' => 'Ort1')
return $values;
?>
Also wenn ein User Adminrechte besitzt, bekommt er eine andere Liste.
Aber mit dem "Default value PHP code" komme ich leider nicht klar und habe es noch nicht hinbekommen überhaupt einen Default Wert damit zu setzen.
Interessant fände ich jetzt, was ich machen müsste damit im Falle eines Users mit Adminrechten "Ort3" der standardmäßig ausgewählte Listenpunkt ist.
Ich freue mich über hilfreiche Ratschläge. :)
- Anmelden oder Registrieren um Kommentare zu schreiben
Für jemand, der relativ neu
am 09.01.2014 - 10:03 Uhr
Für jemand, der relativ neu bei Drupal zu sein scheint, willst Du jetzt aber gleich in die Vollen gehen. Vielleicht solltest Du erst mal ein paar einfachere Dinge durchspielen, damit Du ein Gefühl für den Umgang mit Drupal bekommst.
Ich würde z.B das Problem von einer anderen Seite angehen (da Du ja ohnehin schon mit PHP-Code arbeitest). Du solltest in einem eigenen "Minimodul" über die Implementation der Funktion hook_form_alter das entsprechende Formularfeld modifizieren. Dabei kannst Du den Selektions-Array und auch den Defaultwert selbst setzen.
Drupal hat eine ziemlich umfangreiche Api. Um zu wissen, wie man damit umgeht, empfiehlt sich ein Buch zum Entwickeln in Drupal durch zu arbeiten (z.b. "Pro Drupal 7 Development"). Daneben hilft es oft, in den Code von Modulen zu sehen. Dort haben schon andere die ein oder andere Idee umgesetzt und warum das Rad immer neu erfinden.
In diesem Sinne noch viel Erfolg mit Drupal.
Beste Grüße
Werner
.
Werner
drupal-training.de
Moderator und Drupal Trainer
* - - - - - - - - - - - - - - - - - - - - - - - - - - - *
Danke für deine schnelle und
am 09.01.2014 - 15:10 Uhr
Danke für deine schnelle und ausführliche Antwort.
Tatsächlich bin ich noch relativ unbewandert mit Drupal und ging davon aus, dass dieses Problem ganz einfach zu lösen wäre, das ist jetzt auch erstmal keine Notwendigkeit aber wäre dennoch schön. :)
Ich denke mit dem Hinweis auf hook_form_alter im Zusammenhang mit CCK ist mir erstmal weiter geholfen, ich werde mich dazu belesen und dann weiter schauen.
Viele Grüße,
Christian