Добавьте кнопку в форму входа (D8) - PullRequest
0 голосов
/ 11 июля 2019

Можно ли добавить кнопку в основную форму входа?

function alter_form_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id)
{
    if ($form_id == 'user_login_form') {
        ##ADD BUTTONS ???
        $form['#validate'] = ['test_validate'];
        $form['actions']['submit']['#submit'][] = 'custom_submit_method';
    }
}

1 Ответ

0 голосов
/ 17 июля 2019

Вы можете добавить кнопку в оболочку actions, используя следующий код

$form['actions']['custom_submit'] = [
  '#type' => 'submit',
  '#name' => 'custom_submit',
  '#value' => t('My custom submit button'),
];

Если вы хотите различить оба щелчка, например, если вам нужно сделать что-то еще, когда используется custom_submit, тогда вам нужно будет получить доступ к $form_state->getTriggeringElement(); в вашем custom_submit_method обработчике отправки.

function custom_submit_method(array $form, FormStateInterface $form_state){
    $trigger = $form_state->getTriggeringElement();
    if ($trigger['#name'] === 'custom_submit') {
      // ...
    }
}

Вы можете найти больше документации по

Надеюсь, мой ответ поможет вам.

...