如何使用带有 TYPO3 插件的数据处理器
How to use DataProcessors with TYPO3 plugins
将DataProcessor 添加到PAGE 或FLUIDTEMPLATE 的方法经常出现。如何分配给TYPO3插件?
对于 PAGE,您可以这样做:
page {
10 {
dataProcessing {
1558428437 = BK2K\BootstrapPackage\DataProcessing\ConstantsProcessor
1558428437 {
as = myconstants
key = settings.constants
}
}
}
}
但是你可以这样做吗:
config.tx_extbase {
dataProcessing {
1558428437 = BK2K\BootstrapPackage\DataProcessing\ConstantsProcessor
1558428437 {
as = myconstants
key = settings.constants
}
}
非常感谢!
这目前是不可能的。
这绝对是一个可以让集成商的生活更轻松的功能。
不,这是不可能的,因为数据处理器是 FLUIDTEMPLATE
content object 单独的一个功能。
在这种情况下,您可以在控制器操作中手动调用 ConstantsProcessor
。您可以通过 $this->configurationManager->getContentObject()
获取当前的 ContentObjectRenderer
。 $processorConfiguration
与 TypoScript 中的相同,但作为数组:
$constantsProcessor = GeneralUtility::makeInstance(ConstantsProcessor::class);
$data = $constantsProcessor->process(
$this->configurationManager->getContentObject(),
[],
[
'key' => 'settings.constants',
'as' => 'myconstants',
],
[]
);
// Use $data['myconstants']
将DataProcessor 添加到PAGE 或FLUIDTEMPLATE 的方法经常出现。如何分配给TYPO3插件?
对于 PAGE,您可以这样做:
page {
10 {
dataProcessing {
1558428437 = BK2K\BootstrapPackage\DataProcessing\ConstantsProcessor
1558428437 {
as = myconstants
key = settings.constants
}
}
}
}
但是你可以这样做吗:
config.tx_extbase {
dataProcessing {
1558428437 = BK2K\BootstrapPackage\DataProcessing\ConstantsProcessor
1558428437 {
as = myconstants
key = settings.constants
}
}
非常感谢!
这目前是不可能的。
这绝对是一个可以让集成商的生活更轻松的功能。
不,这是不可能的,因为数据处理器是 FLUIDTEMPLATE
content object 单独的一个功能。
在这种情况下,您可以在控制器操作中手动调用 ConstantsProcessor
。您可以通过 $this->configurationManager->getContentObject()
获取当前的 ContentObjectRenderer
。 $processorConfiguration
与 TypoScript 中的相同,但作为数组:
$constantsProcessor = GeneralUtility::makeInstance(ConstantsProcessor::class);
$data = $constantsProcessor->process(
$this->configurationManager->getContentObject(),
[],
[
'key' => 'settings.constants',
'as' => 'myconstants',
],
[]
);
// Use $data['myconstants']