我想禁用后端的某些字段,例如许多领域的gridelements和其他内容元素。我知道TCEFORM的可能性,但它只允许禁用所有cTypes中的字段。我需要一种方法来禁用某些cTypes的某些字段。
有没有办法实现这个目标? 感谢
答案 0 :(得分:1)
如果您使用TCA调整tt_content,则可以完全控制显示哪个字段。您可以使用您的客户扩展(sitepackage)覆盖TCA。
以下文件包含显示CType 标题的字段(TYPO3 CMS 7.6)
EXT:sitepackage /配置/ TCA /重写/ tt_content.php
<?php
defined('TYPO3_MODE') or die();
call_user_func(function () {
$GLOBALS['TCA']['tt_content']['types']['header']['showitem'] = '--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.general;general,--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.headers;headers,rowDescription,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.appearance,--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.frames;frames,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access,--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.visibility;visibility,--palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.access;access,--div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.extended,--div--;LLL:EXT:lang/locallang_tca.xlf:sys_category.tabs.category,categories';
});
根据需要删除或添加任何字段,并对要更改的任何CType执行此操作。 另请参阅https://docs.typo3.org/typo3cms/TCAReference/7.6/Reference/Types/Index.html
答案 1 :(得分:0)
只要您不需要其他条件(例如某个用户或组或页面树的特定分支)来禁用这些字段,您就不应该使用PageTSconfig和TCEFORM而是使用纯TCA类型。
只需创建一个站点包扩展,无论如何都要推荐,并确保在Configuration / TCA / Overrides / tt_content.php中为tt_content表提供所需的设置,以便自动应用它。
您可以在此处找到有关“Sitepackages剖析”的一些幻灯片:https://de.slideshare.net/benjaminkott/typo3-the-anatomy-of-sitepackages
有关TCA类型的更多信息,请访问: https://docs.typo3.org/typo3cms/TCAReference/Types/Index.html
由于Gridelements只提供布局,子项,容器和列的必填字段,因此您不应禁用这些字段,因为它可能会破坏功能。
答案 2 :(得分:0)
同时(自9 LTS起)可以通过TsConfig:
TCEFORM.tt_content.subheader.types.text.disabled = 1
...禁用所有文本内容元素的子标题字段。
您甚至可以为所有cType禁用一个字段并定义一个例外:
TCEFORM.tt_content.subheader{
disabled = 1
types.text.disabled = 0
}