web-dev-qa-db-ja.com

お問い合わせフォームからプレビューボタンを削除するにはどうすればよいですか?

Drupal 8.1.xでコンタクトフォームのプレビューをオフにする方法

enter image description here

8
SakaSerbia

カスタムモジュールは 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;
  }
}
14
Shawn Conn

作業中およびテスト中のパッチがありますが、まだコミットはありません https://www.drupal.org/project/drupal/issues/296035 。パッチは最新のD8で動作しますが、パッチがコミットされるまで、[プレビューボタンを非表示]モジュールを使用することをお勧めします https://www.drupal.org/project/hide_preview 他のフォームページではうまく機能します。あまりにも。場合によっては、これはフックとパッチの操作に慣れていない人を助けます。

1
jaesperanza

それは私のために働いていますそれを行うための最良の方法このコードをあなたの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
omkar gaonkar