¿Cómo puedo eliminar el botón de vista previa del formulario de contacto?

8

Cómo desactivar la vista previa en el formulario de contacto en Drupal 8.1.x

ingrese la descripción de la imagen aquí

SakaSerbia
fuente
Use un poco de CSS y quítelo de la pantalla.
Joshua Kissoon

Respuestas:

14

Se puede utilizar un módulo personalizado hook_form_alter()para eliminar el elemento de formulario del botón de vista previa de cualquier 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;
  }
}
Shawn Conn
fuente
1
Si recuerdo bien, la forma preferida de eliminar un elemento de formulario en lugar de usar unset () es establecer la propiedad #access en FALSE, entonces: $ form ['actions'] ['preview'] ['# access'] = FALSE ;
batigolix
No funciona para botones de acción en D8. Si esto se ha solucionado o hay una alternativa (no tuve tiempo para investigar qué está pasando allí), no dude en actualizar la respuesta en consecuencia.
Shawn Conn
Parece funcionar bien.
Actualicé
En lugar de eso, lo hice por medio de un hook_form_form_id_alter()enganche, un fragmento de código completo (funciona para un formulario de contacto predeterminado):function THEME_form_contact_message_feedback_form_alter(&$form, &$form_state, $form_id) { $form['actions']['preview']['#access'] = FALSE; }
tulvit el
1

Funciona para mí La mejor manera de hacerlo Agregue este código a su archivo 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
fuente
1

Hay parches en proceso de trabajo y pruebas, pero aún no se han confirmado https://www.drupal.org/project/drupal/issues/2960353 . Los parches funcionan en el último D8 hasta la fecha, pero hasta que se haya confirmado un parche, sugiera utilizar el módulo Ocultar botón de vista previa https://www.drupal.org/project/hide_preview también funciona bien para otras páginas de formulario. En este caso, esto ayuda a aquellos que no se sienten cómodos trabajando con ganchos y parches.

jaesperanza
fuente