Как настроить кнопку отправки в контактной форме Drupal 8?

У меня есть контактная форма на моем сайте Drupal 8, и я хотел бы удалить кнопку предварительного просмотра и настроить HTML для кнопки отправки.

Я пробовал это в моей теме:

function mytheme_form_contact_message_feedback_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {

  $form['submit']['#prefix'] = '<div class="contact-form-btn col-xs-12 col-md-10 col-md-offset-2 no-pad-left">';
  $form['submit']['#suffix'] = '</div>';
  $form['submit']['#value'] = 'Submit';
  $form['submit']['#title'] = 'Submit';

}

Но это, похоже, не меняет ни HTML-оболочку, ни ярлык на самой кнопке.

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

4 ответа

Ваш код должен быть

function mytheme_form_contact_message_feedback_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {

    $form['actions']['submit']['#prefix'] = '<div class="contact-form-btn col-xs-12 col-md-10 col-md-offset-2 no-pad-left">';
    $form['actions']['submit']['#suffix'] = '</div>';
    $form['actions']['submit']['#value'] = 'Your value';
}

Спасибо

Я не уверен, почему это не сработало, как я делал это выше - потому что это работает для всех других полей в форме, но решение, опубликованное здесь, работает.

Просто чтобы объяснить, что сработало для меня, что я получил по ссылке в ответе выше.

В моем файле mytheme.theme я поместил следующий код, и я мог удалить кнопку предварительного просмотра, а также изменить текст кнопки отправки.

function mytheme_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {

  if (in_array($form_id, ['contact_message_feedback_form', ])) {
    $key = ($form_id == 'contact_message_feedback_form') ? 'actions' : 'basic';
    $form[$key]['submit']['#value'] = 'My Submit Message';
    $form[$key]['preview']['#access'] = FALSE;
  }
}

Может быть, вы можете использовать хранилище контактов (действительно полезно с формами в Drupal 8). Позволяет хранить в БД данные, отправленные с формами, настраивать текст кнопки, скрывать кнопку предварительного просмотра.

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