webcoast / dot-forms
用于将带有点符号的TCA字段存储到单个字段中的TYPO3 CMS扩展
v1.0.3
2024-08-21 07:45 UTC
Requires
- typo3/cms-backend: ^12.4
- typo3/cms-core: ^12.4
- typo3/cms-extbase: ^12.4
- typo3/cms-frontend: ^12.4
This package is auto-updated.
Last update: 2024-09-21 08:02:04 UTC
README
此扩展允许使用点符号配置TCA字段,例如 settings.pagination.itemsPerPage
。类似于flex forms,这避免了为配置的TCA字段添加额外的数据库字段,但它允许以更灵活的方式放置字段,而不是将它们组合在flex forms容器内部。
安装
composer require webcoast/dot-forms
使用此扩展无需进一步配置。
用法
按常规配置您的TCA字段,但使用点符号作为字段名,例如
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns('tt_content', [ 'settings.pagination.itemsPerPage' => [ 'label' => 'Items per page', 'config' => [ 'type' => 'number', 'format' => 'integer' 'size' => 5, 'default' => 10, ], ], 'settings.pagination.maxNumberOfLinks' => [ 'label' => 'Max number of links', 'config' => [ 'type' => 'number', 'format' => 'integer' 'size' => 5, 'default' => 7, ], ], ]);
可选:创建一个包含您字段的调色板
$GLOBALS['TCA']['tt_content']['palettes']['settings.pagination'] = [ 'label' => 'Pagination', 'showitem' => 'settings.pagination.itemsPerPage, settings.pagination.maxNumberOfLinks', ];
将您的调色板或字段添加到 types
部分
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes('tt_content', '--palette--;;settings.pagination', '{yourCType}', 'after:header');
Extbase插件(设置)
当使用Extbase插件时,您可以将 \WEBcoast\DotForms\Mvc\Controller\ActionController
作为您控制器的基础类,以自动将 settings.*
字段映射到控制器中的 $this->settings
属性。
这个魔法是通过在实际动作方法之前调用的 initializeAction()
方法实现的。如果您也在控制器中使用此方法,请确保在开头调用 parent::initializeAction()
。
数据处理程序
当使用数据处理程序时,例如在 FLUIDTEMPLATE
内容对象中,您可以使用包含的数据处理程序将所有具有点符号的字段映射到数据数组中的相应主字段。
tt_content.myContentObject {
dataProcessing {
10 = dot-forms
}
}