public function GroupEventController::addPage in Event 8
Provides the group content creation overview page.
Parameters
\Drupal\group\Entity\GroupInterface $group: The group to add the group content to.
bool $create_mode: (optional) Whether the target entity still needs to be created. Defaults to FALSE, meaning the target entity is assumed to exist already.
Return value
array|\Symfony\Component\HttpFoundation\RedirectResponse The group content creation overview page or a redirect to the form for adding group content if there is only one group content type.
Overrides GroupContentController::addPage
File
- modules/
gevent/ src/ Controller/ GroupEventController.php, line 61
Class
- GroupEventController
- Returns responses for 'group_event' GroupContent routes.
Namespace
Drupal\gevent\ControllerCode
public function addPage(GroupInterface $group, $create_mode = FALSE) {
$build = parent::addPage($group, $create_mode);
// Do not interfere with redirects.
if (!is_array($build)) {
return $build;
}
// Overwrite the label and description for all of the displayed bundles.
$storage_handler = $this->entityTypeManager
->getStorage('event_type');
foreach ($this
->addPageBundles($group, $create_mode) as $plugin_id => $bundle_name) {
if (!empty($build['#bundles'][$bundle_name])) {
$plugin = $group
->getGroupType()
->getContentPlugin($plugin_id);
$bundle_label = $storage_handler
->load($plugin
->getEntityBundle())
->label();
$t_args = [
'%event_type' => $bundle_label,
];
$description = $create_mode ? $this
->t('Add new content of type %event_type to the group.', $t_args) : $this
->t('Add existing content of type %event_type to the group.', $t_args);
$build['#bundles'][$bundle_name]['label'] = $bundle_label;
$build['#bundles'][$bundle_name]['description'] = $description;
}
}
return $build;
}