Gestern hat Frank erklärt wie man Extension Inhalte leicht durch Redakteure verwalten kann. Heute will ich euch eine Commerce Menü Integration Nahe bringen…
Um ein Commerce Menü zu integrieren brauchen wir natürlich erst einmal ein normales Menü. In unserem Beispiel lösen wir dies mittels eines normalen TMENU:
lib.mainmenu = HMENU lib.mainmenu { special = directory special.value = xx (Eure Root ID oder ohne special Anweisung) 1 = TMENU 1 { wrap = <ul class="mainmenu">|</ul> noBlur = 1 NO.ATagTitle.field = subtitle // title NO.allWrap = <li>|</li> NO.ATagParams = class="no" NO.stdWrap.htmlSpecialChars = 1 ACT = 1 ACT.wrapItemAndSub = <li>|</li> ACT.ATagTitle.field = subtitle // title ACT.ATagParams = class="act" ACT.stdWrap.htmlSpecialChars = 1 } 2 < .1 3 < .1 }
Auch das Commerce Menü ist ein normales TMENU, welches aus einer userFunction aus Commerce gespeist wird:
lib.catmenu = HMENU lib.catmenu { special = userfunction special.userFunc = user_tx_commerce_catmenu_pub->init special { category = {$plugin.tx_commerce_lib.catUid} showProducts = 1 overridePid = {$plugin.tx_commerce_lib.overridePid} } 1 = TMENU 1 { wrap = <ul class="catmenu">|</ul> itemArrayProcFunc = user_tx_commerce_catmenu_pub->clear expAll = 1 noBlur = 1 NO.wrapItemAndSub = <li>|</li> ACT = 1 ACT.wrapItemAndSub = <li>|</li> } 2 < .1 3 < .1 }
Und nun kommt der Clou der Integration. Per Condition hängen wir das Commerce Menü einfach in unseres bestehendes TYPO3 Menü ein. Ihr müsst natürlich die passende Seiten ID eintragen (xxx) um das Menü zu intigrieren.
[PIDinRootline = xxx] lib.mainmenu.1 { ACT { after.cObject = HMENU after.cObject < lib.catmenu } } [END]
Danke Alex für den Code!
Viel Spaß damit.