Inhaltstyp Profil - bei bestimmten Radio-Buttons einzelne Optionen entfernen
am 04.06.2011 - 19:04 Uhr in
Ich verwende Content Profile.
Für den Inhaltstyp Profil habe ich ein Feld als Beitrags-Referenz angelegt.
D.h. der Feldtyp ist "nodereference_buttons".
Nun möchte ich ein Modul schreiben (form_alter-Hook), das je nach Benutzer-Rolle bestimmte Optionen dieses Feldes manipuliert.
Bei einem anderen Modul gelingt mir das, in dem ich die Felder so anspreche:
$form['formname']['#options']['value'] = 'neuer Value'
Beim Feld vom Typ "nodereference_buttons" beim Inhaltstyp profil gibt es das Array $form['formname']['#options'] nicht.
Ich habe mir alle Werte mit var_dump($form['formname']) ausgeben lassen und finde nicht, wie ich die Radiobuttons ansprechen kann.
Irgendwo habe ich wohl mal wieder einen dicken, dicken Knoten im Hirn ;-)
- Anmelden oder Registrieren um Kommentare zu schreiben
Gewichtung
am 06.06.2011 - 10:56 Uhr
Hallo.
Kann es eventuell sein, dass Dein Modul einen Namen hat, der (bei alphabetischer Sortierung) vor "nodereference" kommt?
Wenn ja, solltest Du den Wert "weight" in der Tabelle "system" für Dein Modul erhöhen.
Idealerweise macht man das gleich in der modulname.install mittels [api:hook_install:6].
Ja, mein Modul fängt mit
am 06.06.2011 - 19:15 Uhr
Ja, mein Modul fängt mit my....an, kommt also vorher.
Ich habe das weight hochgesetzt.
Danach mal vosichtshalber alle cache-Tabellen geleert.
An dem beschriebenen Problem hat sich aber nichts geändert.
Wegen dem hook_install(): Mein Modul hat keine .install-Datei.
Es ist nur die Kopie des Moduls cck_required_by_role, an dem ich etwas rumschraube, weil ich will, daß für bestimmte Rollen Felder Pflichtfelder sind, statt daß Pflichtfelder für bestimmte Rollen keine Pflichtfelder sind.
Man stellt die Felder dann als nicht Pflicht ein und gibt an, für welche Rollen das Feld doch ein Pflichtfeld ist.
Funktioniert gut bei allen Feldern, außer bei diesen nodereference-Feldern.
Da sie als nicht- Pflichtfeld angelegt sind, erscheint vorselektiert die Option k.A.
Diese Default-Option möchte ich bei den entsprechenden Rollen, für die es ein Pflichtfeld ist, gar nicht erst anzeigen.
Und dazu müßte ich die Option erst mal gefasst bekommen.