Isso me incomoda há um tempo. Quando tento ocultar campos como o campo de público do grupo ou a configuração de publicação de um formulário, na validação, o formulário define esses dois campos para um valor nulo, mesmo que o valor padrão seja foi declarado corretamente.
Tentei usar Invisible, #access, unset escondido nada funciona funciona! Isso é muito preocupante porque, no meu projeto atual, os usuários podem editar apenas pequenos pedaços de seu perfil no momento, por exemplo, apenas o endereço ou a imagem; portanto, se eu ocultar o público do grupo, o usuário acaba sendo expulso dos grupos aos quais pertence. editar.
Acabei usando o código abaixo para ocultar esses campos enquanto ainda mantinha o usuário em seu grupo.
$variables['user_edit_about']['group_audience']= $temp['group_audience'];
$variables['user_edit_about']['group_audience']['#prefix'] = '<div style="display:none;">';
$variables['user_edit_about']['group_audience']['#suffix'] = '</div>';
Alguém pensaria em uma maneira melhor de conseguir isso?
obrigado