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.