Esto me ha estado molestando durante un tiempo. Cuando intento ocultar campos como el campo de audiencia grupal o la configuración de publicación de un formulario, al validar el formulario, ambos campos tienen un valor nulo, aunque el valor predeterminado sea ha sido correctamente declarado
Traté de usar Invisible, #access, unset oculto, nada funciona! Esto es muy problemático porque para mi proyecto actual, los usuarios pueden editar solo pequeños fragmentos de su perfil en ese momento, por ejemplo, solo la dirección o la imagen, por lo que si oculto la audiencia del grupo, el usuario termina expulsado de los grupos a los que pertenece en cada momento. editar.
Terminé usando el código a continuación para ocultar estos campos mientras mantenía al usuario en su 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>';
¿Alguien pensaría en una mejor manera de lograr esto?
Gracias
fuente
Respuestas:
Editar:
Ok, lo descubrí. Ponga esto en su módulo personalizado:
Esto establecerá el título del nodo de la historia en 'cosas interesantes' y NO se mostrará en la página porque #access = FALSE;
Puede agregar más control de granularidad dentro de hook_form_alter () como
Esto funciona para Drupal 6 y 7.
Respuesta anterior (ignorar):
Ha pasado un tiempo desde que hice algo así, así que puedo equivocarme. Si configura el elemento
[#value]
de un formulario, no será visible en el formulario.Lo hice en Drupal 6,
hook_form_alter()
en un módulo personalizado. No sé si funcionará en Drupal 7 y no sé si puede hacerlo en una función de preprocesofuente
También puede simplemente agregar la clase CSS 'elemento oculto' al elemento de formulario
Como iStryker mencionó anteriormente, aún sería posible cambiar el valor a través de la manipulación DOM. Sin embargo, esta es una manera agradable y fácil de ocultar un campo de formulario (o cualquier otro elemento de representación). La
element-hidden
clase se define ensystem.base.css
.fuente