[TYPO3-mvc] Pass dynamic parameters to extbase plugin by typoscript
Franz Koch
typo3.RemoveForMessage at elements-net.de
Wed Oct 19 10:54:57 CEST 2011
Hi,
> thanks for your answer. Your code works. The problem is that you get only static parameters. But I want the uid to be dynamically taken from the TypoScript so that I can evaluate the tag data.
>
> This:
>
> settings.uid.dataWrap = {parameters:uid}
>
> does not work.
The settings array does not contain any TypoScript logic and is not
processed by any TS parser. It's actually impossible to know which
setting should be automatically processed and which ones not. So in this
case you have to convert the $this->settings array back to the
'dot-syntax' array usually created by TS and then process it with the
stdWrap function of the contentObject.
# Extbase 1.4 code:
$typoScriptService =
$this->objectManager->get('Tx_Extbase_Service_TypoScriptService');
$settingsAsTypoScriptArray =
$typoScriptService->convertPlainArrayToTypoScriptArray($this->settings);
// now override the 'uid' value in the settings array with the processed
value
$this->settings['uid'] =
$this->configurationManager->getContentObject()->stdWrap($settingsAsTypoScriptArray['uid'],
$settingsAsTypoScriptArray['uid.']);
You might want to do the processing at a very early stage in the
controllers processing chain in order to have the processed settings
available everywhere. If you do the processing in your action then you
might have to reassign the settings array to the view in order to have
the updated settings available there.
--
kind regards,
Franz Koch
More information about the TYPO3-project-typo3v4mvc
mailing list