function OliveroHooks::preprocessPageTitle

Same name and namespace in other branches
  1. main core/themes/olivero/src/Hook/OliveroHooks.php \Drupal\olivero\Hook\OliveroHooks::preprocessPageTitle()

Implements hook_preprocess_HOOK() for page-title.

Attributes

#[Hook('preprocess_page_title')]

File

core/themes/olivero/src/Hook/OliveroHooks.php, line 24

Class

OliveroHooks
Hook implementations for olivero.

Namespace

Drupal\olivero\Hook

Code

public function preprocessPageTitle(&$variables) : void {
  // Since the title and the shortcut link are both block level elements,
  // positioning them next to each other is much simpler with a wrapper div.
  if (!empty($variables['title_suffix']['add_or_remove_shortcut']) && $variables['title']) {
    // Add a wrapper div using the title_prefix and title_suffix render
    // elements.
    $variables['title_prefix']['shortcut_wrapper'] = [
      '#markup' => '<div class="shortcut-wrapper">',
      '#weight' => 100,
    ];
    $variables['title_suffix']['shortcut_wrapper'] = [
      '#markup' => '</div>',
      '#weight' => -99,
    ];
    // Make sure the shortcut link is the first item in title_suffix.
    $variables['title_suffix']['add_or_remove_shortcut']['#weight'] = -100;
  }
  // Unset shortcut link on front page.
  $variables['is_front'] = \Drupal::service('path.matcher')->isFrontPage();
  if ($variables['is_front'] === TRUE) {
    unset($variables['title_suffix']['add_or_remove_shortcut']);
  }
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.