drupal_set_message в #submit обработчике формы не работает

Главные вкладки

Аватар пользователя Stutzer Stutzer 22 июня 2010 в 6:23

Коллеги, помогите разобраться со странным явлением

В своем модуле изменяю стандартную форму создания ноды с помощью mymodule_form_FORM_ID_alter(...)
при изменении, кроме всего прочего, добавляю дополнительный сабмит хэндлер и сабмит-кнопку

$form['#submit'][] = 'mymodule_myform_submit';
$form['myform_submit'] = array( '#type' => 'submit', '#value' => t('Some action') );

Дополнительный обработчик выглядит следующим образом:

function mymodule_myform_submit($form, &$form_state) {
 
  if ( $form_state['clicked_button']['#id'] == 'edit-myform-submit' ) {  
   
    // Пытаемся создать файл - все ок
    $myFile = "testFile.html";
    $fh = fopen($myFile, 'w') or die("can't open file");
    $stringData = vd($form);
    fwrite($fh, $stringData);
    fclose($fh);
   
    // Пытаемся вывести сообщение - не работает Sad
    drupal_set_message('Some message');
  }

}

И все работает замечательно, дополнительная функция (судя по тому, что файл создается) вызывается при нажатии на мою дополнительную кнопку. А вот drupal_set_message не отрабатывается. Точнее, скорее где-то затирается переменная с массивом сообщений.

Комментарии