Verwendung von #states in hook_form_alter
Hallo. Ich versuche, ein Problem mit der Implementierung von Feldabhängigkeiten in Drupal 7 zu lösen. Aus zahlreichen Fragen wurde klar, dass es optimal ist, in Drupal 7 #states anstelle von bedingten Feldern zu verwenden. Wie sich herausstellte, gibt es noch ein weiteres Hindernis für dieses Modul, nämlich das Problem der Abhängigkeit bei Verwendung des Moduls multi_step.
Im Großen und Ganzen habe ich verstanden, wie #states funktioniert. Aber ich habe nur verstanden, wie es bei der Erstellung meines eigenen Formulars mit hook_form funktioniert. Meine Aufgabe besteht jedoch darin, ein bereits vorhandenes Materialhinzufügungsformular umzubauen.
hook_form_ID_FORM_alter
Ich benutze es. Ich finde die Arrays über dsm($form);
Aber ich kann nicht verstehen, wie man die Abhängigkeiten richtig definiert.
Angenommen, in dem erstellten Formular habe ich es so gemacht:
<?php $form['radio_type'] = array(
'#type' => 'radios',
'#options' => array(
'0' => t('Erscheint eine Dropdown-Gruppe'),
'1' => t('Feld Text nicht aktiv'),
'2' => t('Checkboxen verschwinden'),
),
'#title' => t('Wählen Sie eine Aktion')
);
$form['grupa'] = array(
'#type' => 'fieldset',
'#title' => t('Gruppe'),
'#states' => array(
'visible' => array(
':input[name="radio_type"]' => array('value' => '0'),
),
),
);?>
In der Funktion hook_form_alter (ich schreibe es vorerst in das Template)
Ich versuche, etwas Ähnliches zu machen:
<?phpfunction theme_form_zavedeniya_node_form_alter(&$form, &$form_state, $form_id) {
dpm($form);
$form['body']['und']['0']['value']['#states'] = array(
'invisible' => array(
':input[name="field_sity2"]' => array('value' => '56'),
),
);
}?>
Das heißt, ich mache es so, dass beim Auswählen des Wertes 56 im Feld field_sity2 (Verweis auf den Begriff) das Feld body verschwindet.
Insgesamt funktioniert nichts. Ich habe es auf verschiedene Arten versucht, aber es scheint, als hätte ich es nie richtig hinbekommen. Ich bitte um Rat.
P.S. Vielleicht könnten Sie auch empfehlen, was ich für die Erstellung eines mehrstufigen Formulars mit abhängigen Feldern verwenden könnte. Und damit ich später das Material über Tabs und nicht schrittweise bearbeiten kann.
- Anmelden oder Registrieren, um Kommentare verfassen zu können