function social_event_max_enroll_views_post_render in Open Social 8.9
Same name and namespace in other branches
- 8.5 modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_views_post_render()
- 8.6 modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_views_post_render()
- 8.7 modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_views_post_render()
- 8.8 modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_views_post_render()
- 10.3.x modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_views_post_render()
- 10.0.x modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_views_post_render()
- 10.1.x modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_views_post_render()
- 10.2.x modules/social_features/social_event/modules/social_event_max_enroll/social_event_max_enroll.module \social_event_max_enroll_views_post_render()
Implements hook_views_post_render().
Alter "Event enrollments" views. Add number of spots left.
File
- modules/
social_features/ social_event/ modules/ social_event_max_enroll/ social_event_max_enroll.module, line 19 - The Social Event Max Enroll module.
Code
function social_event_max_enroll_views_post_render(ViewExecutable $view, &$output, CachePluginBase $cache) {
if ($view->current_display === 'event_enrollments' && $view
->id() === 'event_enrollments' && isset($output['#rows']) && !empty($view->args[0])) {
$nid = $view->args[0];
$node = \Drupal::entityTypeManager()
->getStorage('node')
->load($nid);
$event_max_enroll_service = \Drupal::service('social_event_max_enroll.service');
// Add spots left counter to the block title.
if ($event_max_enroll_service
->isEnabled($node)) {
// Count how many spots left.
$left = $event_max_enroll_service
->getEnrollmentsLeft($node);
$title_suffix = \Drupal::translation()
->formatPlural($left, '(1 spot left)', '(@count spots left)');
$view->header['result']->options['content'] .= ' ' . $title_suffix;
}
}
}