Zum Inhalt springen

Typoscript in RealUrl Userfunc auslesen

Erstellt am 13. Dezember 2016 · 2 Antworten · letzte Antwort am 15. Dezember 2016

Tags: Extbase, RealURL, TYPO3 7, Frage

eisstern ·

Hallo,
ich verwende RealUrl 2.1.4 und muss einen Parameter mit einer Userfunc en-/decoden. In dieser Userfunc erstelle ich per ObjectManager verschiedene Abhängigkeiten, die jeweils auch wieder weitere Objekte mit @inject inkludieren. In einer dieser Abhängigkeiten benötige ich nun Daten aus einer TypoScript-Konfiguration. Wenn ich einen ConfigurationManager verwende, erhalte ich immer ein "leeres" Ergebnis.
Hier der vereinfachte Code:

RealUrl Config

....
'fixedPostVars' => [
        // product detail
        154 => [
            [
                'GETvar' => 'tx_mmm2products_detail[sku]',
                'userFunc' => 'Mediaman\MmM2Base\Lib\RealUrl->processProductDetail'
            ]
]
...

In der UserFunc

...
public function processProductDetail(){

   // include a Service via objectManager
   $objectManager = GeneralUtility::makeInstance(ObjectManager::class);
   $dummyService = $objectManager->get(DummyService::class);
   $dummyService->run();
}
...

In DummyService

public function run(){
   // objectManager aus @inject
   $configurationManager = $this->objectManager->get(ConfigurationManager::class);
   $config = $configurationManager->getConfiguration(ConfigurationManagerInterface::CONFIGURATION_TYPE_FULL_TYPOSCRIPT);
   var_dump($config);
}
...

erzeugt

$config = NULL

Warum ist die Config NULL?
Ich habe auch schon versucht, den ConfigurationManager per @inject zu laden, aber das ändert nichts.
Was ich nicht machen möchte, ist die Konfiguration über mehrere Objekte hinweg durchzuschleusen.
Fehlt das komplette Environment sodass das Typoscript überhaupt gefunden werden kann? Oder ist das Problem ein ganz anderes?

einpraegsam.​net ·

Realurl Configuration wird noch vor dem TypoScript geparst. Das kann nicht funktionieren aus meiner Sicht. So einfach kommst du dort auch nicht an TypoScript heran. Ich gehe mal davon aus, dass $GLOBALS['TSFE']->tmpl->setup auch leer ist?

BastianBalthasarBux ·

also funktionieren tut sowas schon. hab das so vor ungefähr 7 jahren mal gemacht. also noch in der prä-extbase-ära ... 😉
der trick ist, dass man das typoscript selbst ausliest. also so ähnlich wie bei eID.
zumindest soweit ich mich erinnern kann. ... is ja schon ne weile her. 😉
und performance buchstabiert man auch anders ... 😉