You are here

function olivero_preprocess_page_title in Drupal 9

Implements hook_preprocess_HOOK() for page title templates.

File

core/themes/olivero/olivero.theme, line 46
Functions to support theming in the Olivero theme.

Code

function olivero_preprocess_page_title(&$variables) {

  // 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']);
  }
}