Typo3 如何设置TCA/覆盖中使用的配置或如何配置系统类别?
对于扩展,我喜欢使用存储在专用文件夹中的sys_类别。如何在TCA设置中配置文件夹和访问配置 我试过这种方法。我在Typo3 如何设置TCA/覆盖中使用的配置或如何配置系统类别?,typo3,typo3-extensions,Typo3,Typo3 Extensions,对于扩展,我喜欢使用存储在专用文件夹中的sys_类别。如何在TCA设置中配置文件夹和访问配置 我试过这种方法。我在Configuration/TCA/Overrides/tx\xref\u domain\u model\u project.php中使用方法\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable 在我放置硬编码333的地方,我希望在理想情况下使用配置值tsconfig。在这一点上它被解析和访问了吗
Configuration/TCA/Overrides/tx\xref\u domain\u model\u project.php中使用方法\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable
在我放置硬编码333的地方,我希望在理想情况下使用配置值tsconfig。在这一点上它被解析和访问了吗
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable(
'xref',
'tx_xref_domain_model_project',
'areas',
array(
'label' => 'Areas',
'exclude' => FALSE,
'fieldConfiguration' => array(
'foreign_table_where' => ' AND sys_category.pid = 333',
)
)
);
有没有更简单的方法来解决这个问题?在Configuration/TCA/Overrides/.php中使用ExtensionManagementUtility::makeCategorizable()
,这正是正确的方法,事实上也是正确的方法。至少此时可以访问全局扩展配置
这并不完全令人满意,因为您可能需要为不同的页面或系统文件夹定义不同的类别源文件夹。然而,这对许多项目都适用:
$areaFolder = (int)\TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
\TYPO3\CMS\Core\Configuration\ExtensionConfiguration::class)
->get('xref', 'areaFolder');
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::makeCategorizable(
'xref',
'tx_xref_domain_model_project',
'areas',
array(
'label' => 'Areas',
'exclude' => FALSE,
'fieldConfiguration' => array(
'foreign_table_where' => ' AND sys_category.pid = ' . (string) $areaFolder,
)
)
);
很高兴知道我在正确的轨道上。如何用配置替换硬编码333?TSConfig此时可用吗?