通常会显示将 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 的一项功能一个人。
在这种情况下,您可以在 Controller 操作中手动调用 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']
关于typo3 - 如何使用带有 TYPO3 插件的数据处理器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56238503/