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


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;
  }
}

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;
  }
}

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.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.