Nền: Trong Drupal 7, tôi đã tạo biểu mẫu có CCK (còn gọi là Giao diện trường). Tôi đã sử dụng mô-đun Field group để tạo nhóm field, nhưng tôi cần nó có điều kiện, nghĩa là nó sẽ chỉ hiển thị tùy thuộc vào câu trả lời trước.Trường nhóm/lĩnh vực có điều kiện trong Drupal 7
Nghiên cứu trước đây: Để tạo ra một lĩnh vực có điều kiện, bạn có thể sử dụng hook_form_alter() để chỉnh sửa các thuộc tính #states như vậy:
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'),
),
);
}
}
Tuy nhiên, có vẻ là không có cách nào để sử dụng API Kỳ fieldgroups. Một điều cần lưu ý là, trong khi các trường được lưu trữ trong $form
, các nhóm lĩnh vực được lưu trữ trong $form['#groups']
cũng như trong $form['#fieldgroups']
. Tôi không biết làm thế nào để phân biệt giữa chúng, và với điều này trong tâm trí, tôi đã cố gắng áp dụng một thuộc tính #states cho một fieldgroup theo cách tương tự như trên. Tuy nhiên, nó chỉ tạo ra lỗi máy chủ.
Câu hỏi: Có cách nào để làm cho một fieldgroup hiển thị có điều kiện sử dụng API của tiểu bang hoặc một số phương pháp thay thế khác không?
Thanks for the tip. Tôi đã không thực sự kết thúc nhìn vào nó bởi vì tôi có một cái gì đó để cuối cùng làm việc. Kiểm tra các giải pháp được đăng nếu bạn quan tâm. – seane