Como posso remover o botão de visualização do formulário de contato?

8

Como desativar a visualização no formulário de contato no Drupal 8.1.x

insira a descrição da imagem aqui

SakaSerbia
fonte
Use um pouco de css e remova-o da tela.
Joshua Kissoon

Respostas:

14

Um módulo personalizado pode ser utilizado hook_form_alter()para remover o elemento do formulário do botão de visualização de qualquer 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
fonte
11
Se bem me lembro, a maneira preferida de remover um elemento de formulário em vez de usar unset () é definindo a propriedade #access como FALSE, então: $ form ['actions'] ['preview'] ['# access'] = FALSE ;
batigolix
Não funciona para botões de ação no D8. Se isso tiver sido corrigido ou houver uma alternativa (não tive tempo para pesquisar o que está acontecendo lá), fique à vontade para atualizar a resposta de acordo.
Shawn Conn
Parece funcionar bem. Atualizei o trecho de
código
Fez isso através theming em vez disso, hook_form_form_id_alter()gancho, trecho de código completo (obras para um formulário de contacto padrão):function THEME_form_contact_message_feedback_form_alter(&$form, &$form_state, $form_id) { $form['actions']['preview']['#access'] = FALSE; }
tulvit
1

Funciona para mim A melhor maneira de fazer isso Adicione este código ao seu arquivo 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
fonte