culturefeed-1.0.2/modules/culturefeed_agenda/src/BreadcrumbBuilder/AgendaBreadcrumbBuilder.php

modules/culturefeed_agenda/src/BreadcrumbBuilder/AgendaBreadcrumbBuilder.php
<?php

namespace Drupal\culturefeed_agenda\BreadcrumbBuilder;

use Drupal\Core\Breadcrumb\BreadcrumbBuilderInterface;
use Drupal\Core\Routing\RouteMatchInterface;
use Drupal\Core\Breadcrumb\Breadcrumb;
use Drupal\Core\Link;
use Drupal\Core\StringTranslation\StringTranslationTrait;
use Symfony\Component\HttpFoundation\RequestStack;

/**
 * Provides a breadcrumb builder for agenda.
 */
class AgendaBreadcrumbBuilder implements BreadcrumbBuilderInterface {

  use StringTranslationTrait;

  /**
   * The current request.
   *
   * @var \Symfony\Component\HttpFoundation\Request
   */
  protected $currentRequest;

  /**
   * The breadcrumb to build.
   *
   * @var \Drupal\Core\Breadcrumb\Breadcrumb
   */
  protected $breadcrumb;

  /**
   * AgendaBreadcrumbBuilder constructor.
   *
   * @param \Symfony\Component\HttpFoundation\RequestStack $requestStack
   *   The current request stack.
   */
  public function __construct(RequestStack $requestStack) {
    $this->currentRequest = $requestStack->getCurrentRequest();
  }

  /**
   * {@inheritdoc}
   */
  public function applies(RouteMatchInterface $routeMatch) {
    return $routeMatch->getRouteName() === 'culturefeed_agenda.event_detail';
  }

  /**
   * {@inheritdoc}
   */
  public function build(RouteMatchInterface $routeMatch) {
    $this->breadcrumb = new Breadcrumb();

    $this->breadcrumb->addLink(Link::createFromRoute($this->t('Home'), '<front>'));
    $this->breadcrumb->addLink(Link::createFromRoute($this->t('Agenda'), 'culturefeed_agenda.agenda'));

    $this->breadcrumb->addCacheContexts(['url.path']);

    return $this->breadcrumb;
  }

}

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

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