Как я могу удалить кнопку предварительного просмотра из контактной формы?


8

Как отключить предварительный просмотр в контактной форме в Drupal 8.1.x

введите описание изображения здесь


Используйте немного CSS и удалите его с дисплея.
Джошуа Кисун

Ответы:


14

Пользовательский модуль можно использовать hook_form_alter()для удаления элемента формы кнопки предварительного просмотра в любой форме:

/**
 * Implements hook_form_alter().
 */
function MYMODULE_form_alter(&$form, $form_state, $form_id) {

  // Look for any form provided by the contact module.
  // If you want to target a specific form you'll use the whole form ID
  // (e.g. Website feedback = 'contact_message_feedback_form').
  if (strpos($form_id, 'contact_message_') !== FALSE) {
    $form['actions']['preview']['#access'] = FALSE;
  }
}

1
Если я хорошо помню, предпочтительным способом удаления элемента формы вместо использования unset () является установка для свойства #access значения FALSE, поэтому: $ form ['actions'] ['preview'] ['# access'] = FALSE ;
Batigolix

Это не работает для кнопок действий в D8. Если это было исправлено или есть альтернатива (у меня не было времени исследовать, что там происходит), смело обновляйте ответ соответствующим образом.
Шон Конн

Кажется, работает нормально. Я обновил фрагмент
Batigolix

Сделал это через тематику, hook_form_form_id_alter()перехват, полный фрагмент кода (работает для контактной формы по умолчанию):function THEME_form_contact_message_feedback_form_alter(&$form, &$form_state, $form_id) { $form['actions']['preview']['#access'] = FALSE; }
tulvit

1

Это работает для меня. Лучший способ сделать это. Добавьте этот код в файл YOURPROFILENAME.profile.

/**
 * Implements hook_form_alter().
 */
function YOURPROFILENAME_form_alter(&$form, $form_state, $form_id) {
   if (strpos($form_id, 'contact_message_') !== FALSE) {
    $form['actions']['preview']['#access'] = FALSE;
  }
}

1

Есть патчи в работе и тестировании, но пока нет коммитов https://www.drupal.org/project/drupal/issues/2960353 . Патчи работают на последних версиях D8, но до тех пор, пока патч не будет зафиксирован, рекомендуем использовать модуль Скрыть кнопку предварительного просмотра https://www.drupal.org/project/hide_preview, который также хорошо работает и на других страницах форм. В случае, если это помогает тем, кому неудобно работать с крючками и патчами.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.