drupal 7 system_settings_form добавить кнопку

Profile picture for user admin_romcom

В большинстве случаев хватает обычной 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;
  }
}

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

Теги

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

The content of this field is kept private and will not be shown publicly.

Plain text

  • No HTML tags allowed.
  --   o-o   o-o     o-o    o-o  
o o | | \ | | | |
/ oo | O o-o o-o
/ | | / | | | |
o--o o-o o-o o-o o-o

Enter the code depicted in ASCII art style.