Hallo zusammen,
ich habe folgendes Problem:
Ich würde gerne aus meiner Extension heraus auf TypoScript zugreifen, bzw. ein Objekt global ablegen, damit das Setup drauf zugreifen kann.
Hintergrund ist folgender:
Meine Extension soll die vorhandene Breadcrum-Leiste erweitern, und zwar immer noch den aktuellen Datensatztitel hinzufügen.
Die Breadcrumb ist ganz normal im Template-Setup definiert. Meine Idee war nun, dass ich innerhalb der Extension eine Variable fülle, am besten gleich ein TypoScript-Objekt, auf die ich im setup einfach drauf zugreifen kann. Wird die Variable nicht gefüllt, wird natürlich auch nichts ausgegeben...
Gibts da vielleicht Ideen von jemanden?
Grüße
Fritz
vielleicht kann ich auch was in die globalVar setzen, damit kenn ich mich jedoch noch nicht genug aus...
Jetzt habe ich mich der Sache schon sehr stark genährt, aber ein Problem bleibt:
Hier mein Vorgehen:
In meiner Seitenextension setze ich eine globale Variable
$GLOBALS['TSFE']->pfadnavTitle = $category['title'];
Diese möchte ich nun im TypoScript-Template ausgeben, indem ich so drauf zugreife:
lib.menu.pfadnav.15 = TEXT
lib.menu.pfadnav.15.data = TSFE:pfadnavTitle
lib.menu.pfadnav.15.wrap = <li> |</li>
Mein Problem ist, dass nichts ausgegeben wird. Auf alle anderen Variablen, die im TSFE sind, kann ich aber zugreifen... Wird die Variable vielleicht erst später gesetzt, bzw. das tsscript schon vorher aufgerufen? Wie kann ich das Problem lösen?
Beste Grüße
Fritz[/list]
Ärgerlich,
auch diese Variante funktioniert einfach nicht...
$GLOBALS['TSFE']->tmpl->setup['lib.']['menu.']['pfadnav.']['15.']['value'] = 'Ein Test';
Hier habe ich aus der Extension versucht das tsobjekt zu ändern...
Ich würde es an Deiner Stelle "anders herum" lösen:
Und zwar mit der Nutzung von IProcFunc in der Konfiguration Deiner breadcumb-Navigation.
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/ContentObjects/Hmenu/Tmenu/Index.html
Eine weitere Möglichkeit ist die Verwendung eines TS-Registers. Man kann im Plugin einen Registerwert setzen:
$GLOBALS['TSFE']->register['REGISTER_NAME'] = 'Testwert';
Das kann man dann im TS einbinden:
10 = TEXT
10.data = register:REGISTER_NAME
Das funktioniert aber nur, wenn das Plugin als USER eingebunden ist und außerdem vor dem Menu im Typoscript-Baum eingebunden ist.