[英]TYPO3 fill backend fields in content element with database values
我正在嘗試將 tt_content 數據庫字段中的 JSON 數據分發到其他現有字段中,例如 TYPO3 默認輸入字段標題。
我嘗試找到一個鈎子,它可以讓我手動處理分發,就像我在通過保存時一樣
$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][]
在我的 ext_localconf.php 中。 我找不到一個。 所以我查看了TCA
,看看是否有我可以使用的可能設置,但我也不能。
您知道如何手動進行此數據分發嗎?
我找到了解決方案:
你必須在你的 ext_localconf.php 文件中做兩件事
要在保存到數據庫之前更改數據,您必須調用:
$GLOBALS ['TYPO3_CONF_VARS']['SC_OPTIONS']['t3lib/class.t3lib_tcemain.php']['processDatamapClass'][] = \YourNamespace\Hooks\YourClass::class;
在將數據加載到后端字段之前處理數據:
$GLOBALS ['TYPO3_CONF_VARS']['SYS']['formEngine']['formDataGroup']['tcaDatabaseRecord'][\YourNamespace\FormDataProvider\YourOtherClass::class]['depends'][0] = TYPO3\CMS\Backend\Form\FormDataProvider\DatabaseEditRow::class;
要加載到您的設置排版中需要的前端或模板:
tt_content {
your_content_element_name =< lib.contentElement
your_content_element_name {
templateRootPaths {
1 = EXT:your_extension_name/Resources/Private/Templates/
}
partialRootPaths {
1 = EXT:your_extension_name/Resources/Private/Partials/
}
templateName = YourTemplateName
dataProcessing {
1 = YourNamespace\DataProcessing\YourClassProcessor
}
}
}
所有這些類都可以與相應的核心類進行比較。
我希望這對未來的人有所幫助。
親切的問候!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.