Как настроить кнопку отправки в контактной форме 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). Позволяет хранить в БД данные, отправленные с формами, настраивать текст кнопки, скрывать кнопку предварительного просмотра.