Условные группы/наборы полей в Drupal 7

Фон:В 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 состояний или какого-либо альтернативного подхода?

10
задан seane 14 June 2012 в 23:10
поделиться