¿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í


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

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

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.