Comment puis-je supprimer le bouton d'aperçu du formulaire de contact?

8

Comment désactiver l'aperçu dans le formulaire de contact dans Drupal 8.1.x

entrez la description de l'image ici

SakaSerbia
la source
Utilisez du CSS et supprimez-le de l'écran.
Joshua Kissoon

Réponses:

14

Un module personnalisé peut utiliser hook_form_alter()pour supprimer l'élément de formulaire du bouton d'aperçu dans n'importe quel formulaire:

/**
 * 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
la source
1
Si je me souviens bien, la meilleure façon de supprimer un élément de formulaire au lieu d'utiliser unset () est de définir la propriété #access sur FALSE, donc: $ form ['actions'] ['preview'] ['# access'] = FALSE ;
batigolix
Cela ne fonctionne pas pour les boutons d'action dans D8. Si cela a été corrigé ou s'il existe une alternative (je n'ai pas eu le temps de rechercher ce qui s'y passe), n'hésitez pas à mettre à jour la réponse en conséquence.
Shawn Conn
Semble bien fonctionner. J'ai mis à jour l'extrait de
code
A-t-il été effectué via un thème, un hook_form_form_id_alter()crochet, un extrait de code complet (fonctionne pour un formulaire de contact par défaut):function THEME_form_contact_message_feedback_form_alter(&$form, &$form_state, $form_id) { $form['actions']['preview']['#access'] = FALSE; }
tulvit
1

Cela fonctionne pour moi La meilleure façon de le faire Ajoutez ce code à votre fichier 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;
  }
}
omkar gaonkar
la source
1

Il y a des correctifs en cours de travail et de test, mais aucun commit n'est encore https://www.drupal.org/project/drupal/issues/2960353 . Les correctifs fonctionnent sur le dernier D8 à ce jour, mais jusqu'à ce qu'un correctif soit validé, suggérez d'utiliser le module Masquer le bouton de prévisualisation https://www.drupal.org/project/hide_preview fonctionne également bien pour d'autres pages de formulaire. Dans le cas, cela aide ceux qui ne sont pas à l'aise avec le travail avec des crochets et des patchs.

jaesperanza
la source