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?