Alterar presentación (view mode) de una entidad en su visualización

03/05/2016

Modificar la presentación (view mode) de una entidad según las condiciones que necesitemos, a través de la implementación de un hook_entity_view_mode_alter. Como caso práctico, yo lo he utilizado para cambiar la presentación (view mode) de la entidad usuario cuando el usuario logado es distinto al usuario del que se está visualizando el perfil, es decir cuando un usuario está viendo el perfil de otro.

/**
 * Implements hook_entity_view_mode_alter.
 */
function my_module_entity_view_mode_alter(&$view_mode, $context) {
  // If entity_type is user show 'example' view mode.
  if ($context['entity_type'] == 'user') {
    $view_mode = 'example';
  }
}

También puedes añadir una presentación personalizada a una entidad (view mode). Te enseño cómo hacerlo en este snippet.