如何禁用/隐藏列表记录的“隐藏/取消隐藏”按钮

时间:2019-11-28 18:27:55

标签: typo3 typo3-9.x

如何为某些表禁用或隐藏TYPO3后端列表模块中的“隐藏/取消隐藏”按钮?我想阻止BE用户单击它。

enter image description here

我唯一发现的是options.disableDelete.[tableName],它仅禁用删除按钮。

2 个答案:

答案 0 :(得分:1)

您可以通过禁用字段或将其设置为只读来禁用为用户编辑字段的可能性。使用此用户/用户组的条件更改此记录的TCA。或者,您可以将所需的TSconfig添加到be_usergroup。

但是:您的用户将无法添加活动记录。默认情况下,新记录被禁用/隐藏。尝试启用它们将需要此字段的编辑选项。

如果仅不显示该字段,则用户可以使用记录选项(记录上下文菜单或列表视图中的图标)禁用记录

答案 1 :(得分:0)

您可以通过删除表的TCA中enablecolumns配置的“ disabled”字段来做到这一点。

为此,请在扩展名中为要覆盖的表添加一个TCA覆盖配置文件。在我的示例中,我使用的是“ tt_content”(尽管您可能不应该对核心表执行此操作;它可能会有意想不到的副作用)。

创建php文件your_ext/Configuration/TCA/Overrides/tt_content.php,并在其中添加以下几行:

if (isset ($GLOBALS['TCA']['tt_content']['ctrl']['enablecolumns']['disabled'])) {
    unset($GLOBALS['TCA']['tt_content']['ctrl']['enablecolumns']['disabled']);
}

或者,如果这是具有您自己的表的自定义扩展名,只需选择正确的TCA文件,例如Configuration/TCA/tx_some_table_name.php并删除'disabled' => 'hidden',行。

在“配置”模块中查看tt_content表的TCA(如果找不到它,则需要启用“低级”扩展名),现在应该删除“禁用”键。

但是请注意,这是全局设置,适用于所有用户和所有站点的整个TYPO3。