hook_form_FORMID_alter не работает

function send_xml_form_user_profile_form_alter(&$form, &$form_state){
    $form["#submit"][] = 'send_xml_edit_account_submit_function';
    drupal_set_message('<pre>' . print_r($form['#submit'], TRUE) . '</pre>');
}

function send_xml_edit_account_submit_function($form, &$form_state) {
    drupal_set_message(t("ahoy"));
}

название модуля send_xml.module,

этот код drupal_set_message('<pre>' . print_r($form['#submit'], TRUE) . '</pre>'); дисплеи

Array
(
     [0] => user_profile_form_submit
     [1] => send_xml_edit_account_submit_function
)

но этот код drupal_set_message(t("ahoy")); не отображается...

кто-нибудь звонит в колокол?

довольно неприятно иметь проблемы, которые вы не можете найти причину, почему... кто-нибудь испытывал это раньше? Если да, пожалуйста, поделитесь со мной вашими решениями. Большое спасибо!:)

2 ответа

Решение

Нет проблем с кодом, который вы вставили. Я проверил это, и он отлично работает; Я получаю "Ахой" отображается.

Предложения:

  • Попробуйте это на новой установке Drupal.
  • Существуют ли обратные вызовы проверки, которые препятствуют выполнению обратного вызова отправки?

Для drupal 7 есть три аргумента с изменением формы.

function hook_form_FORM_ID_alter(&$form, &$form_state, $form_id) {
  // your code
}

Надеюсь, это сработает для вас...

Другие вопросы по тегам