În Drupal 7, clientul dorește să adauge un buton la user_profile_form. Deci, în modulul meu personalizat, creez butonul și apelul său însoțitor. Dar, în timp ce butonul apare pe formular, nu văd nicio dovadă că apelul invers este declanșat.
funcția member_form_alter(&$form, &$form_state, $form_id) {
if ($form_id == "user_profile_form") {
$form['send_reset'] = matrice(
'#type' => 'buton',
'#prefix' => "<div id='reset-div'>",
'#sufix' => "</div>",
'#value' => "Resetează membrul",
'#ajax' => [
'callback' => 'member_reset_user',
'wrapper' => 'reset-div',
'eveniment' => 'trimite', //clic etc
],
'#weight' => -150,
'#attributes' => matrice(
'id' => array('reset-cancel')
),
);
}
function member_reset_user($form, &$form_state) {
a muri();
încerca {
my_user_function():
watchdog('membru', 'resetare utilizator', WATCHDOG_NOTICE);
}
prinde (Excepție $e) {
watchdog('membru', 'resetare eşuată', WATCHDOG_ERROR);
}
returnează $form;
}
HTML-ul generat de Drupal sugerează o funcție de trimitere.
<div id="reset-div"><input id="reset-cancel" type="submit" name="op" value="Reset member" class="form-submit"></div>
Deoarece nu creez noi elemente de formular în apel invers, doar emit o funcție personalizată, nu pot vedea ce greșesc. M-am uitat la asta de prea mult timp.