Breadcrumbs sind im Magento-Standard nur für bestimmte Seitentypen definiert:

  • Kategorieseiten
  • Produktseiten (Screenshot)

Breadcrumb auf einer Produktseite

Für die Usability ist es sinnvoll, wenn die Breadcrumbs auf allen Seiten vorkommen und man dort z.B. immer einen festen Link zur Startseite hat. Leider ist das nicht mit einem Befehl oder gar einer Konfigurationseinstellung möglich, man muss dies für jeden Seitentyp separat machen. Exemplarisch zeigen wir das Vorgehen hier für den Warenkorb und den Onepage-Checkout.

Die grundsätzlichen Befehle zum Erstellen einer Breadcrumb-Navigation sind nicht sehr komplex:

Diesen Code kann man entweder in einen Controller (vor $this->renderLayout();) oder in einen Block einfügen. Der Hintergrund ist, dass der Block mit dem Namen „breadcrumbs“ auf jeder Seite in Magento vorhanden ist und nur befüllt werden muss.

Um jetzt keine Klasse zu überschreiben, nutzt man am Besten die Event-Observer-Technologie von Magento. Die passenden Events lauten „controller_action_layout_render_before_checkout_cart_index“ bzw. „controller_action_layout_render_before_checkout_onepage_index“ – für andere Seiten ergeben sich die zugehörigen Events normalerweise aus der Seiten-URL.

In ein eigenes Modul gegossen sieht das beispielsweise wie folgt aus:

Auszug aus der etc/config.xml im Modulverzeichnis:

Model/Observer.php im Modulverzeichnis:

Das Ergebnis ist dann entsprechend:
Breadcrumbs auf der Checkout-Seite

Das vollständige Beispielmodul gibt es hier zum Download.

Andreas von Studnitz

Autor: Andreas von Studnitz

Andreas von Studnitz ist Diplom-Informatiker, Magento-Entwickler und Geschäftsführer von integer_net. Seine Schwerpunkte sind Entwicklung, Beratung und die Durchführung von Schulungen. Er ist Magento 2 Certified Professional Developer Plus und hat darüber hinaus weitere Magento Zertifizierungen für Magento 1 und Magento 2. Sowohl im Jahr 2019 als auch 2020 wurde Andreas als Magento Master in der Kategorie „Mentor“ ausgezeichnet.

Mehr Informationen