Ho creato un tipo di contenuto denominato "menu principale". Ho alcune liste selezionate che dipendono l'una dall'altra. Volevo visualizzare un elenco diverso quando sono selezionate caselle di controllo diverse. Ho capito che ho bisogno di usare Ajax per modificare il modulo al fine di raggiungere questo obiettivo, ma qualcuno può dirmi come usare Ajax con hook_form_alter?
L'ID del modulo che dovrei modificare è "main_menu_node_form". Quando provo ad accedere a questo modulo usando hook_form_alter()
e aggiungo la #ajax
proprietà dei campi modulo, sembra che non riesca a farlo poiché i campi sono già resi prima che l'handle venga passato hook_form_alter()
. Qualcuno può aiutarmi a risolvere questo problema?
Nota: ho creato il tipo di contenuto utilizzando 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()
(come hai scritto, "Quando provo ad accedere a questo modulo usando il modulo alter [... [...]").
main_menu_content_type_form_main_menu_node_form_alter_callback()
; se tale funzione contiene codice errato, gli utenti non possono segnalare eventuali modifiche da apportare al codice per farlo funzionare.