function olivero_preprocess_page_title

Same name and namespace in other branches
  1. 10 core/themes/olivero/olivero.theme \olivero_preprocess_page_title()
  2. 11.x core/themes/olivero/olivero.theme \olivero_preprocess_page_title()

Implements hook_preprocess_HOOK() for page title templates.

File

core/themes/olivero/olivero.theme, line 46

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

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