Pull merge.
[yaffs-website] / vendor / chi-teck / drupal-code-generator / templates / d8 / service / breadcrumb-builder.twig
1 <?php
2
3 namespace Drupal\{{ machine_name }};
4
5 use Drupal\Core\Breadcrumb\Breadcrumb;
6 use Drupal\Core\Breadcrumb\BreadcrumbBuilderInterface;
7 use Drupal\Core\Link;
8 use Drupal\Core\Routing\RouteMatchInterface;
9 use Drupal\Core\StringTranslation\StringTranslationTrait;
10 use Drupal\node\NodeInterface;
11
12 /**
13  * Provides a breadcrumb builder for articles.
14  */
15 class {{ class }} implements BreadcrumbBuilderInterface {
16
17   use StringTranslationTrait;
18
19   /**
20    * {@inheritdoc}
21    */
22   public function applies(RouteMatchInterface $route_match) {
23     $node = $route_match->getParameter('node');
24     return $node instanceof NodeInterface && $node->getType() == 'article';
25   }
26
27   /**
28    * {@inheritdoc}
29    */
30   public function build(RouteMatchInterface $route_match) {
31     $breadcrumb = new Breadcrumb();
32
33     $links[] = Link::createFromRoute($this->t('Home'), '<front>');
34
35     // Articles page is a view.
36     $links[] = Link::createFromRoute($this->t('Articles'), 'view.articles.page_1');
37
38     $node = $route_match->getParameter('node');
39     $links[] = Link::createFromRoute($node->label(), '<none>');
40
41     $breadcrumb->setLinks($links);
42
43     return $breadcrumb;
44   }
45
46 }