J'ai créé un type de contenu nommé "menu principal". J'ai quelques listes sélectionnées qui dépendent les unes des autres. Je voulais afficher une liste différente lorsque différentes cases à cocher sont sélectionnées. J'ai compris que je devais utiliser Ajax pour modifier le formulaire afin d'y parvenir, mais quelqu'un peut-il me dire comment utiliser Ajax avec hook_form_alter?
L'identifiant de formulaire du formulaire que je suis censé modifier est "main_menu_node_form". Lorsque j'essaie d'accéder à ce formulaire en utilisant hook_form_alter()et d'ajouter la #ajaxpropriété des champs du formulaire, il semble que je ne suis pas en mesure de le faire car les champs sont déjà rendus avant que le handle ne soit transmis à hook_form_alter(). Quelqu'un peut-il m'aider à résoudre ce problème?
Remarque: J'ai créé le type de contenu à l'aide de 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()(comme vous l'avez écrit, "Quand j'essaie d'accéder à ce formulaire en utilisant le formulaire alter [… […]").
main_menu_content_type_form_main_menu_node_form_alter_callback(); si cette fonction contient un code incorrect, les utilisateurs ne peuvent pas signaler les modifications que vous devez apporter à votre code pour le faire fonctionner.