Franz Holzinger

Verse of the day

Rühme dich nicht des morgenden Tages; denn du weißt nicht, was heute sich begeben mag.
Sprueche 27:1

© Bible Gateway's Verse of the Day


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