Chris@0: /** Chris@0: * Implements hook_preprocess(). Chris@0: */ Chris@0: function {{ machine_name }}_preprocess(&$variables, $hook) { Chris@0: static $hooks; Chris@0: Chris@0: // Add contextual links to the variables, if the user has permission. Chris@0: Chris@0: if (!\Drupal::currentUser()->hasPermission('access contextual links')) { Chris@0: return; Chris@0: } Chris@0: Chris@0: if (!isset($hooks)) { Chris@0: $hooks = theme_get_registry(); Chris@0: } Chris@0: Chris@0: // Determine the primary theme function argument. Chris@0: if (isset($hooks[$hook]['variables'])) { Chris@0: $keys = array_keys($hooks[$hook]['variables']); Chris@0: $key = $keys[0]; Chris@0: } Chris@0: else { Chris@0: $key = $hooks[$hook]['render element']; Chris@0: } Chris@0: Chris@0: if (isset($variables[$key])) { Chris@0: $element = $variables[$key]; Chris@0: } Chris@0: Chris@0: if (isset($element) && is_array($element) && !empty($element['#contextual_links'])) { Chris@0: $variables['title_suffix']['contextual_links'] = contextual_links_view($element); Chris@0: if (!empty($variables['title_suffix']['contextual_links'])) { Chris@0: $variables['attributes']['class'][] = 'contextual-links-region'; Chris@0: } Chris@0: } Chris@0: }