Drupal 8 Taxonomien und Breadcrumbs

Drupal 8 hat ein aus meiner Sicht ein recht gut brauchbares System für die Breadcrumb-Ausgabe bereits im Core realisiert. Die Ausgabe der Breadcrumbs basiert auf Pfadkomponenten, das wird realisiert über den Path Based Breadcrumb Builder Service. Dieser ist gemäß seiner Implementierung der applies-Funktion für alle URLs zuständig. Der Service hat gemäß seiner Definition eine Priorität von 0 und kann daher einfach von anderen BreadcrumbBuilder-Services (für spezielle Pfade) überschrieben werden.

Das Taxonomy-Modul stellt einen eigenen BreadcrumbBuilder-Service bereit, welcher für Taxonomy-Terms gültig ist und hier den Path Based Breadcrumb Builder Service überschreibt. Wenn man nun den Path Based Breadcrumb Builder auch für Taxonomy Terms verwenden will, gibt es keine einfache Möglichkeit dafür (keine Möglichkeit dies im Backend einzustellen).

Um diesem Umstand abzuhelfen habe ich das Modul Taxonomy Path Breadcrumb erstellt. Damit lässt sich im Backend pro Taxonomie-Vokabular einstellen ob man den Path Based Breadcrumb Builder Service oder den Taxonomy Breadcrumb Builder Service nutzen möchte. Eine solch flexible Nutzung wird sogar in einem ToDo innerhalb des Codes des Taxonomy Breadcrumd Builder Service angedeutet. Man ist allerdings mittlerweile wohl der Auffassung, dass dieser Anwendungsfall zu speziell ist um in Drupal Core Aufnahme zu finden. Daher stelle ich es in einem Contrib-Modul bereit.

Neuen Kommentar schreiben

Filtered HTML

  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.