You are here

function social_group_entity_view_alter in Open Social 8

Same name and namespace in other branches
  1. 8.9 modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  2. 8.2 modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  3. 8.3 modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  4. 8.4 modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  5. 8.5 modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  6. 8.6 modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  7. 8.7 modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  8. 8.8 modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  9. 10.3.x modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  10. 10.0.x modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  11. 10.1.x modules/social_features/social_group/social_group.module \social_group_entity_view_alter()
  12. 10.2.x modules/social_features/social_group/social_group.module \social_group_entity_view_alter()

Implements hook_entity_view_alter().

File

modules/social_features/social_group/social_group.module, line 364
The Social group module.

Code

function social_group_entity_view_alter(array &$build, EntityInterface $entity, EntityViewDisplayInterface $display) {

  // For group entities.
  if ($entity instanceof Group) {

    // Add cache contexts for some view modes.
    switch ($build['#view_mode']) {
      case 'hero':

        // Add cache contexts for group type & permissions.
        // We need join / leave for the CTA and also update permissions
        // for the button to edit a group.
        $build['#cache']['contexts'][] = 'group.type';
        $build['#cache']['contexts'][] = 'group_membership.roles.permissions';
        $build['#cache']['contexts'][] = 'group_membership.audience';
        $build['#cache']['tags'][] = 'group_block:' . $entity
          ->id();
        break;
      case 'teaser':
        $build['#cache']['contexts'][] = 'user';
        break;
    }
  }
}