Saltar al contenido

Drupal: ¿cómo ocultar un campo de usuario personalizado en el perfil de usuario?

Investigamos por diferentes foros y de este modo regalarte la respuesta a tu duda, si tienes alguna difcultad puedes dejarnos la duda y contestamos con mucho gusto.

Solución:

Creo que Field Permissions es lo que estás buscando. Aquí hay una cita al respecto (de la página del proyecto del módulo):

… permite a los administradores del sitio establecer permisos a nivel de campo para editar, ver y crear campos en cualquier entidad.

Características:

  • Habilite los permisos de campo en cualquier entidad, no solo en los nodos.
  • Permisos de campo basados ​​en roles que permiten diferentes patrones de visualización según el acceso que tenga el usuario.
  • Los permisos a nivel de autor permiten ver y editar campos en función de quién es el propietario de la entidad.
  • Los permisos para cada campo no están habilitados de forma predeterminada. En cambio, los administradores pueden habilitar estos permisos explícitamente para los campos donde se necesita esta función.
  • Resumen de permisos de campo

Para ocultar el campo del formulario de perfil de usuario, puede configurar el #access propiedad de un campo a FALSO usando hook_form_FORMID_alter.

El siguiente fragmento oculta el campo. field_organisation desde el formulario de perfil de usuario para no administradores:

function YOURCUSTOMMODULE_form_user_profile_form_alter(&$form, &$form_state, $form_id) 
  $current_user = user_uid_optional_load();
  if($current_user->uid != 1) 
    $form['field_organisation']['#access'] = FALSE;
  

Ver también esta pregunta similar en drupalanswers

También puede ocultar el campo de la página de perfil de usuario (no del formulario) usando template_preprocess_user_profile

El siguiente fragmento oculta el campo. field_organisation desde la página de usuario para no administradores:

function YOURCUSTOMMODULE_preprocess_user_profile(&$vars) 
  $current_user = user_uid_optional_load();
  if($current_user->uid != 1) 
    unset($vars['user_profile']['field_organisation']);
  

Al final de la página puedes encontrar las explicaciones de otros sys admins, tú también tienes la habilidad mostrar el tuyo si lo deseas.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *