Пользовательский модуль можно использовать 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;}}
Если я хорошо помню, предпочтительным способом удаления элемента формы вместо использования 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.
Есть патчи в работе и тестировании, но пока нет коммитов https://www.drupal.org/project/drupal/issues/2960353 . Патчи работают на последних версиях D8, но до тех пор, пока патч не будет зафиксирован, рекомендуем использовать модуль Скрыть кнопку предварительного просмотра https://www.drupal.org/project/hide_preview, который также хорошо работает и на других страницах форм. В случае, если это помогает тем, кому неудобно работать с крючками и патчами.
Ответы:
Пользовательский модуль можно использовать
hook_form_alter()
для удаления элемента формы кнопки предварительного просмотра в любой форме:источник
hook_form_form_id_alter()
перехват, полный фрагмент кода (работает для контактной формы по умолчанию):function THEME_form_contact_message_feedback_form_alter(&$form, &$form_state, $form_id) { $form['actions']['preview']['#access'] = FALSE; }
Это работает для меня. Лучший способ сделать это. Добавьте этот код в файл YOURPROFILENAME.profile.
источник
Есть патчи в работе и тестировании, но пока нет коммитов https://www.drupal.org/project/drupal/issues/2960353 . Патчи работают на последних версиях D8, но до тех пор, пока патч не будет зафиксирован, рекомендуем использовать модуль Скрыть кнопку предварительного просмотра https://www.drupal.org/project/hide_preview, который также хорошо работает и на других страницах форм. В случае, если это помогает тем, кому неудобно работать с крючками и патчами.
источник