Ich habe ein benutzerdefiniertes Modul und versuche, eine CCK-Feldgruppe mit "#states" auszublenden, wenn ein bestimmtes Element in einer Dropdown-Auswahlliste ausgewählt ist.
Ich habe versucht, Zustände aus hook_form_alter () zu verwenden, wie folgt:
$form['group_mygroup']['#states']['invisible'] = array(
':input[name="field_trigger[' . LANGUAGE_NONE. ']"]' => array( 'value' => 'hide' ),
);
Das scheint nichts zu bewirken.
Ich habe versucht, das Gewicht meines Moduls gemäß verschiedenen Websites wie http://proofgroup.com/blog/2008/dec/modifying_cck_fieldgroups_hook_form_alter zu ändern .
aber immer noch ohne Erfolg. Ich kann alle Formularelemente innerhalb der Feldgruppe mithilfe von Status ausblenden, jedoch nicht anhand der Feldgruppe selbst. Hat jemand eine Idee?
7
javascript
thepearson
quelle
quelle
Antworten:
Ich benutze diesen Haken, um meine Feldgruppe auszublenden. Es ist nur sichtbar, wenn das Kontrollkästchen aktiviert
field_myfield
ist.Um die
$element
Variablen in diesem Hook zu untersuchen, habe ich verwendetstatt
dpm()
.Hoffe es hat geholfen :)
quelle
Feldgruppen sind nicht im Stammverzeichnis von definiert
$form
. Es scheint, Sie sollten nicht verwenden$form['group_mygroup']
, aber$form['#fieldgroups']['group_mygroup']
.quelle
Sie können sich das Beispielmodul ansehen, um zu sehen, wie Feldsätze ausgeblendet werden . Basierend darauf denke ich, dass Ihr Code sein sollte:
quelle