Ich habe versucht, einen neuen Breadcrumb-Override zu definieren, erhalte jedoch weiterhin die Site-Standardeinstellung.
Ich habe ein benutzerdefiniertes Modul erstellt, foo_breadcrumb:
- modules/custom/foo_breadcrumb
- foo_breadcrumb.info.yml
- foo_breadcrumb.services.yml
- src/
- BreadcrumbBuild.php
Hier ist der foo_breadcrumb.services.yml
:
services:
foo_breadcrumb.breadcrumb:
class: Drupal\foo_breadcrumb\BreadcrumbBuild
tags:
- { name: breadcrumb_builder, priority: 100 }
Innen habe src/BreadcrumbBuild.php
ich:
<?php
namespace Drupal\foo_breadcrumb;
use Drupal\Core\Breadcrumb\BreadcrumbBuilderBase;
class BreadcrumbBuild implements BreadcrumbManager {
/**
* {@inheritdoc}
*/
public function applies(array $attributes) {
return true;
}
/**
* {@inheritdoc}
*/
public function build(array $attributes) {
$breadcrumb[] = $this->l($this->t('Test'), NULL);
$breadcrumb[] = $this->l($this->t('Test2'), 'test');
return $breadcrumb;
}
}
?>
Ich habe angefangen, die einzige Beschreibung zu bearbeiten, die ich für Drupal 8 finden konnte , aber es scheint, dass eine ältere Version des PSR-4-Autoloadings verwendet wird, die nicht mehr vorhanden ist (für den Rekord bin ich auf 8.0.0 -dev-beta3), und so ging ich davon aus, wie alle anderen Module in der Codebasis funktionieren.
Jetzt bin ich mir ziemlich sicher, dass dies korrekt ist, um das Modul zum Laden zu bringen. Ich bin mir jedoch nicht sicher, ob
class BreadcrumbBuild extends BreadcrumbBuilderBase
ist richtig. Das Problem ist, dass das alte Tutorial, von dem ich auf Erwähnungen BreadcrumbBuilderBase
verweise, nicht mehr erwähnt wird, und ich frage mich, ob es veraltet ist - und wie ich das tun soll.
Ebenso verstehe ich nicht wirklich, was die services.yml
Datei in dieser Hinsicht tut, es gibt dafür nirgendwo Dokumentation.