public function GroupMenu::getGroupOperations in Group Menu 8
Provides a list of operations for a group.
These operations can be implemented in numerous ways by extending modules. Out of the box, Group provides a block that shows the available operations to a user visiting a route with a group in its URL.
Do not forget to specify cacheable metadata if you need to. This can be done in ::getGroupOperationsCacheableMetadata().
Parameters
\Drupal\group\Entity\GroupInterface $group: The group to generate the operations for.
Return value
array An associative array of operation links to show when in a group context, keyed by operation name, containing the following key-value pairs:
- title: The localized title of the operation.
- url: An instance of \Drupal\Core\Url for the operation URL.
- weight: The weight of the operation.
Overrides GroupContentEnablerBase::getGroupOperations
See also
::getGroupOperationsCacheableMetadata()
File
- src/
Plugin/ GroupContentEnabler/ GroupMenu.php, line 33
Class
- GroupMenu
- Provides a content enabler for nodes.
Namespace
Drupal\groupmenu\Plugin\GroupContentEnablerCode
public function getGroupOperations(GroupInterface $group) {
$account = \Drupal::currentUser();
$plugin_id = $this
->getPluginId();
$operations = [];
if ($group
->hasPermission("create {$plugin_id} entity", $account)) {
$route_params = [
'group' => $group
->id(),
'plugin_id' => $plugin_id,
];
$operations["groupmenu-create"] = [
'title' => $this
->t('Create menu'),
'url' => new Url('entity.group_content.create_form', $route_params),
'weight' => 30,
];
}
return $operations;
}