Commerce Breadcrumb

Beim Einsatz von Commerce ist es wünschenswert dem Besucher der Seite auf einfach Art mitzuteilen wo er sich gerade in der Shop Struktur befindet. Für statische Seiten ist das leicht mit einer Breadcrumb erreicht, doch wie geht man mit den dynamischen Seiten der Produkte vor?

Dafür liefert Commerce die Klasse user_tx_commerce_catmenu_pub die unter anderem die Darstellung der Kategorien und Produkte ermöglicht. Mit dem folgenden Typoscript kann auf Basis der Konstante catuid und overridePid der entsprechende Part der Breadcrumb erzeugt werden.

temp.breadcrumb = HMENU
temp.breadcrumb {
  special = userfunction
  special.userFunc = user_tx_commerce_catmenu_pub->CommerceRootline
  special {
    category = {$plugin.tx_commerce_lib.catUid}
    showProducts = 1
    overridePid = {$plugin.tx_commerce_lib.overridePid}
    expandAll = 1
  }

  1 = TMENU
  1 {
    expAll = 1
    NO.allWrap = <li>|</li>
    NO.doNotLinkIt = 0 |*| 0 |*| 1
  }
}

Die meisten Parameter sind geläufig und gehören zu HMENU. Interessanter sind die special Parameter die zur Commerce Klasse gehören.

 

  • category - definiert ab welcher Kategorie die Breadcrumb ausgegeben werden soll
  • showProducts - sorgt dafür, dass auch der Produktname im Menu angezeigt wird
  • overridePid - ist die SeitenID auf der die Links verweisen sollen

Einzig der Optionsplit im Wrap ist lässt ein wenig stutzen.

NO.doNotLinkIt = 0 |*| 0 |*| 1

Letztendlich sorgt er aber nur dafür, dass der letzte Breadcrumb eintrag nicht verlinkt wird.

Meine Mission

Ziel meiner Veröffentlichungen ist es, meine Begeisterung für die Programmierung und das über die Jahre gewonnene Wissen mit anderen Entwicklern zu teilen. Dabei ist es mir wichtig, Lösungen zu thematisieren für die ich in Suchmaschinen keine Antworten finden konnte. Außerdem versuche ich die von mir veröffentlichten Extensions an Beispielen zu erläutern.

evoWeb © 2019