Profile picture for Admin

В большинстве случаев хватает обычной system_settings_forn для сохранения настроек. Но что делать, если нужно добавить доп. Кнопки в форму?

Когда лень писать обработчик стандартных полей _submit, можно написать только один обработчик кнопки.

 

Пишем стандартную функцию формы.

Сразу заполняем ее стандартной системной формой.

$form = system_settings_form($form);

После этого подключаем поля, но в нашем примере – кнопку.

$form['actions']['custom_submit'] = array(

  '#type' => 'submit',

  '#value' => t('Custom submit'),

);

$form['#submit'][] = '_mymodule_custom_submit';

Мы добавляем в массив сабмитов свой, который сработает после системного. Далее пишем функцию для обработки нажатия на кнопку.

function _mymodule_custom_submit($form, $form_state) {
  switch ($form_state['clicked_button']['#value']) {
    case t('Custom submit'):
    // тут код
    break;
  }
}

Таким образом, можно добавить свои кнопки в систменую форму настроек Вашего модуля и расширить стандартный функционал.

Добавить комментарий

Содержимое данного поля является приватным и не предназначено для показа.
  • HTML-теги не обрабатываются и показываются как обычный текст
 8888ba.88ba    88888888b  d88888P  dP   dP  .d888b. 
88 `8b `8b 88 d8' 88 88 Y8' `88
88 88 88 a88aaaa d8' 88aaa88 `8bad88
88 88 88 88 d8' 88 `88
88 88 88 88 d8' 88 d. .88
dP dP dP 88888888P d8' dP `8888P

Введите код, изображенный в стиле ASCII-арт.