Rühme dich nicht des morgenden Tages; denn du weißt nicht, was heute sich begeben mag.
Sprueche 27:1
autor | |
2-03-22 19:09:56 | Eigener Marker in LIST |
Matthias Leiser |
Hallo Herr Holzinger Ich habe schon mehrere eigene Marker in der Listenansicht bei Producten wie folgt erstellt: In der ext_localconf.php $TYPO3_CONF_VARS['EXTCONF']['tt_products']['PRODUCT'][] = 'MeineFirma\\TtProductsExtends\\Marker'; und in der Marker.php namespace MeineFirma\TtProductsExtends; class Marker { public function getRowMarkerArray( $pObj, &$markerArray, &$cObjectMarkerArray, $row,$imageNum, $imageRenderObj, &$forminfoArray, $theCode, $basketExtra, $id, &$linkWrap ) { $markerArray['###TESTMARKER###'] = 'BlaBla'; return $markerArray; } } klappt wunderbar. Jetzt muss ich mehrere Marker in der Listenansicht, direkt nach ###ITEM_LIST_TEMPLATE###, also ausserhalb von Product erstellen. Der Marker wird einfach nicht ersetzt. Ich vermute das $TYPO3_CONF_VARS['EXTCONF']['tt_products']['LIST'][] = 'MeineFirma\\TtProductsExtends\\Marker'; nicht greifft. Ich habe schon paar variante ohne Erfolg durchgespielt. Wie kann ich eine Classes mit eigenem Marker für die Listenansicht erstellen. Vielen Dank für das Feedback. Freundliche Grüsse Matthias Leiser |
2-03-22 20:51:14 | globale Marker |
Franz Holzinger |
Für Marker, die überall verfügbar sein sollen, muss der Hook addGlobalMarkers verwendet werden. Der andere Hook PRODUCT ist nur auf Produkt-Ebene im Unterbereich ITEM_SINGLE gültig: <!-- ###ITEM_SINGLE### begin --> hier die Details des Produkts <!-- ###ITEM_SINGLE### end --> |
2-03-22 22:36:29 | Classes addGlobalMarkers |
Matthias Leiser |
Danke für die Antwort. Den Hook rufe ich mit: $TYPO3_CONF_VARS['EXTCONF']['tt_products']['addGlobalMarkers'][] = 'MeineFirma\\TtProductsExtends\\Marker'; Die Classes sollte aber dann auch komplett ander aussehen? |
2-03-22 22:43:07 | Parameter |
Franz Holzinger |
Der Aufruf im PHP Code sieht so aus: foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF'][TT_PRODUCTS_EXT]['addGlobalMarkers'] as $classRef) { $hookObj= GeneralUtility::makeInstance($classRef); if (method_exists($hookObj, 'addGlobalMarkers')) { $hookObj->addGlobalMarkers($markerArray); } } D.h. die Funktion des Hooks hat nur den Parameter &markerArray! public function addGlobalMarkers( &$markerArray ) { $markerArray['###TESTMARKER###'] = 'BlaBla'; } |
< Zurück zum Forum |