Tôi đã tạo ra một loại nội dung có tên là "menu chính". Tôi có một vài danh sách lựa chọn phụ thuộc vào nhau. Tôi muốn hiển thị một danh sách khác khi các hộp kiểm khác nhau được chọn. Tôi đã tìm ra rằng tôi cần sử dụng Ajax để chỉnh sửa biểu mẫu để đạt được điều đó nhưng ai đó có thể cho tôi biết cách sử dụng Ajax với hook_form_alter không?
Id mẫu của biểu mẫu tôi phải chỉnh sửa là "main_menu_node_form". Khi tôi cố gắng truy cập biểu mẫu này bằng cách sử dụng hook_form_alter()
và thêm thuộc #ajax
tính của các trường biểu mẫu, có vẻ như tôi không thể làm điều đó vì các trường đã được hiển thị trước khi xử lý được chuyển đến hook_form_alter()
. Bất cứ ai có thể xin vui lòng giúp tôi giải quyết điều này?
Lưu ý: Tôi đã tạo loại nội dung bằng cách sử dụng hook_install()
.
function main_menu_content_type_form_main_menu_node_form_alter(&$form, &$form_state, $form_id) {
dpm($form);
dpm($form_state);
$form['field_mlnk'] = array(
'#ajax' => array(
'callback' => 'main_menu_content_type_form_main_menu_node_form_alter_callback',
'wrapper' => 'link-div',
'method' => 'replace',
'effect' => 'fade',
),
);
}
hook_form_alter()
(như bạn đã viết, "Khi tôi cố gắng truy cập biểu mẫu này bằng cách sử dụng biểu mẫu thay đổi [Hồi [Lỗi]").
main_menu_content_type_form_main_menu_node_form_alter_callback()
; nếu chức năng đó chứa mã sai, người dùng không thể báo cáo bất kỳ thay đổi nào bạn nên làm với mã của mình để làm cho mã hoạt động.