Wie kann ich die Vorschau-Schaltfläche aus dem Kontaktformular entfernen?

8

So deaktivieren Sie die Vorschau im Kontaktformular in Drupal 8.1.x.

Geben Sie hier die Bildbeschreibung ein

SakaSerbia
quelle
Verwenden Sie etwas CSS und entfernen Sie es von der Anzeige.
Joshua Kissoon

Antworten:

14

Ein benutzerdefiniertes Modul kann hook_form_alter()das Formularelement der Vorschau-Schaltfläche in beliebiger Form entfernen:

/**
 * 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;
  }
}
Shawn Conn
quelle
1
Wenn ich mich gut erinnere, besteht die bevorzugte Möglichkeit, ein Formularelement zu entfernen, anstatt unset () zu verwenden, darin, die Eigenschaft #access auf FALSE zu setzen ;;
Batigolix
Es funktioniert nicht für Aktionsschaltflächen in D8. Wenn dies behoben wurde oder es eine Alternative gibt (ich hatte keine Zeit zu recherchieren, was dort vor sich geht), können Sie die Antwort entsprechend aktualisieren.
Shawn Conn
Scheint gut zu funktionieren. Ich habe das Snippet
Batigolix
Habe es stattdessen über Theming gemacht, hook_form_form_id_alter()Hook, vollständiges Code-Snippet (funktioniert für ein Standard-Kontaktformular):function THEME_form_contact_message_feedback_form_alter(&$form, &$form_state, $form_id) { $form['actions']['preview']['#access'] = FALSE; }
Tulvit
1

Es funktioniert für mich Der beste Weg, dies zu tun Fügen Sie diesen Code Ihrer Datei YOURPROFILENAME.profile hinzu

/**
 * 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;
  }
}
Omkar Gaonkar
quelle
1

Es sind Patches in Arbeit und werden getestet, aber noch keine Commits. Https://www.drupal.org/project/drupal/issues/2960353 . Patches funktionieren auf dem neuesten D8, aber bis ein Patch festgeschrieben wurde, empfehlen wir, das Modul "Vorschau-Schaltfläche ausblenden" zu verwenden. Https://www.drupal.org/project/hide_preview funktioniert auch gut für andere Formularseiten. In diesem Fall hilft dies denjenigen, die mit der Arbeit mit Haken und Patches nicht vertraut sind.

Jaesperanza
quelle