Come posso rimuovere il pulsante di anteprima dal modulo di contatto?


8

Come disattivare l'anteprima nel modulo di contatto in Drupal 8.1.x

inserisci qui la descrizione dell'immagine


Usa alcuni css e rimuovili dal display.
— Joshua Kissoon,

Risposte:


14

Un modulo personalizzato può utilizzare hook_form_alter()per rimuovere l'elemento del modulo del pulsante di anteprima in qualsiasi forma:

/**
 * 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
Se ricordo bene il modo preferito di rimuovere un elemento del modulo invece di usare unset () è impostando la proprietà #access su FALSE, quindi: $ form ['actions'] ['preview'] ['# access'] = FALSE ;
— Batigolix,

Non funziona per i pulsanti di azione in D8. Se questo è stato risolto o c'è un'alternativa (non ho avuto il tempo per la ricerca cosa sta succedendo lì), sentiti libero di aggiornare la risposta di conseguenza.
— Shawn Conn,

Sembra funzionare bene. Ho aggiornato lo snippet
— batigolix il

Lo ha fatto invece tramite il tema, hook_form_form_id_alter()hook, snippet di codice completo (funziona per un modulo di contatto predefinito):function THEME_form_contact_message_feedback_form_alter(&$form, &$form_state, $form_id) { $form['actions']['preview']['#access'] = FALSE; }
— tulvit

1

Funziona per me Il modo migliore per farlo Aggiungi questo codice al tuo file 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

Ci sono patch in fase di lavoro e test, ma non è stato ancora eseguito alcun commit https://www.drupal.org/project/drupal/issues/2960353 . Le patch funzionano fino all'ultimo D8 fino ad oggi, ma fino a quando non è stato eseguito il commit di una patch, suggerisci di utilizzare il modulo Nascondi pulsante di anteprima https://www.drupal.org/project/hide_preview funziona bene anche per altre pagine del modulo. Nel caso, ciò aiuta coloro che non si sentono a proprio agio nel lavorare con ganci e toppe.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.