bootstrap_italia-8.x-0.x-dev/includes/preprocess-breadcrumb.inc

includes/preprocess-breadcrumb.inc
<?php

/**
 * @file
 * Preprocess breadcrumb.
 */

use Drupal\Core\Template\Attribute;

/**
 * Implements hook_preprocess_HOOK() for breadcrumb.html.twig.
 *
 * Ref: https://www.drupal.org/project/coding_standards/issues/3056368
 *
 * @phpstan-ignore missingType.iterableValue
 */
function bootstrap_italia_preprocess_breadcrumb(array &$variables): void {
  $variables['breadcrumb_include_current_page'] = (bool) theme_get_setting('breadcrumb_include_current_page');
  $variables['breadcrumb_dark_background'] = (bool) theme_get_setting('breadcrumb_dark_background');
  $variables['breadcrumb_icon'] = (bool) theme_get_setting('breadcrumb_icon');
  $variables['breadcrumb_separator'] = theme_get_setting('breadcrumb_separator');

  // Add current page to breadcrumb.
  if ($variables['breadcrumb'] && $variables['breadcrumb_include_current_page']) {
    $request = Drupal::request();
    $route_match = Drupal::routeMatch();
    $page_title = Drupal::service('title_resolver')->getTitle($request, $route_match->getRouteObject());
    $route_name = Drupal::routeMatch()->getRouteName();

    if (!empty($page_title && $route_name != 'search.view_node_search')) {
      // Fix cache.
      $variables['#cache']['contexts'][] = 'url';
      $variables['breadcrumb'][] = [
        'text' => $page_title,
        'attributes' => new Attribute(['class' => ['active']]),
      ];
    }
  }
}

Главная | Обратная связь

drupal hosting | друпал хостинг | it patrol .inc