TYPO3自定义内容元素:如何启用Visibility切换开关
启用自定义内容元素的Visibility切换开关
你可以通过以下几种方式解决Access标签页不显示Visibility切换开关的问题:
方案1:直接添加hidden字段到Access标签页
将配置中Access标签页的代码替换为直接包含hidden字段(即Visibility开关对应的字段),避免依赖调色板可能出现的加载问题:
$GLOBALS['TCA']['tt_content']['types']['my_element'] = [ 'showitem' => ' --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general, --palette--;;general, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.header;headers, --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, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks, --div--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:tabs.access, hidden;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:field.hidden, --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' ];
方案2:基于默认内容元素类型扩展
自定义内容元素时,建议基于现有类型(如text)扩展,继承默认的TCA配置,避免遗漏必要的字段或设置:
$GLOBALS['TCA']['tt_content']['types']['my_element'] = array_replace_recursive( $GLOBALS['TCA']['tt_content']['types']['text'], [ 'showitem' => ' --div--;LLL:EXT:core/Resources/Private/Language/Form/locallang_tabs.xlf:general, --palette--;;general, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.header;headers, --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, --palette--;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:palette.appearanceLinks;appearanceLinks, --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' ] );
方案3:检查并修复调色板定义
如果坚持使用visibility调色板,可先确认该调色板的内容是否包含hidden字段:在TYPO3后台的Configuration > TCA > tt_content > palettes > visibility中查看,默认的visibility调色板应包含hidden、starttime、endtime字段。
若调色板被其他扩展修改导致hidden字段缺失,可手动重新定义该调色板:
$GLOBALS['TCA']['tt_content']['palettes']['visibility'] = [ 'showitem' => ' hidden;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:field.hidden, --linebreak--, starttime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:field.starttime, endtime;LLL:EXT:frontend/Resources/Private/Language/locallang_ttc.xlf:field.endtime ', ];
内容的提问来源于stack exchange,提问作者user500665
相关产品推荐
相关产品推荐

