Фон:В Drupal 7 я создал форму с CCK (, также известную как Field UI ). Я использовал модуль Field group для создания группы полей, но мне нужно, чтобы он был условным, то есть он будет отображаться только в зависимости от предыдущего ответа.
Предыдущее исследование:Чтобы создать условное поле, вы можете использовать хук _форму _изменить()для редактирования#указывает атрибут так:
function MYMODULE_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == 'person_info_node_form') {
// Display 'field_maiden_name' only if married
$form['field_maiden_name']['#states'] = array(
'visible' => array(
':input[name="field_married[und]"]' => array('value' => 'Yes'),
),
);
}
}
Однако, похоже, нет никакого способа использовать API состояний для групп полей. Следует отметить, что в то время как поля хранятся в $form
, группы полей хранятся в $form['#groups']
так же, как и в $form['#fieldgroups']
. Я не знаю, как различить их, и, имея это в виду, я попытался применить#устанавливает атрибут для группы полей таким же образом, как описано выше. Однако это приводит только к ошибкам сервера.
Вопрос:Есть ли способ условно отображать группу полей с помощью API состояний или какого-либо альтернативного подхода?