仅对页面 table 禁用 sys_file_reference_field
Disable sys_file_reference_field only for pages table
我在 sys_file_reference 中添加了一个复选框,并利用它来覆盖一些响应式流体渲染。工作正常。现在我想在页面媒体字段中禁用此复选框。通常禁用字段很容易通过页面错别字
TCEFORM.TABLENAME.FIELDNAME.disabled = 1
然而,由于 sys_file_reference 在两个页面中都使用了 tt_content 这将不起作用,因为它会全局禁用它:
TCEFORM.sys_file_reference.myfield.disabled = 1
我知道我可以使用以下语法禁用某些 CType 的字段:
TCEFORM.tt_content.myfield.types.textmedia.disabled = 1
是否有类似表而不是类型的东西?我尝试失败
TCEFORM.sys_file_reference.myfield.tables.pages.disabled = 1
TCEFORM.pages.myfield.disabled = 1
TCEFORM.pages.tables.sys_file_reference.myfield.disabled = 1
TCEFORM.pages.myfield.tables.sys_file_reference.disabled = 1
TCEFORM.pages.myfield.types.sys_file_reference.disabled = 1
或者我是否需要在 PHP TCA 覆盖中执行此操作?
谢谢
在 TCA 配置中,您可以覆盖特定字段的子配置。因此,您可以将媒体的子 TCA (sys_file_reference) 设置为类型 passthrough
以使其隐藏:
$GLOBALS['TCA']['pages']['columns']['media']['config']['overrideChildTca']['columns']['myfield'] = [
'config' => [
'type' => 'passthrough'
]
];
有关详细信息,请参阅 TCA Reference。
我在 sys_file_reference 中添加了一个复选框,并利用它来覆盖一些响应式流体渲染。工作正常。现在我想在页面媒体字段中禁用此复选框。通常禁用字段很容易通过页面错别字
TCEFORM.TABLENAME.FIELDNAME.disabled = 1
然而,由于 sys_file_reference 在两个页面中都使用了 tt_content 这将不起作用,因为它会全局禁用它:
TCEFORM.sys_file_reference.myfield.disabled = 1
我知道我可以使用以下语法禁用某些 CType 的字段:
TCEFORM.tt_content.myfield.types.textmedia.disabled = 1
是否有类似表而不是类型的东西?我尝试失败
TCEFORM.sys_file_reference.myfield.tables.pages.disabled = 1
TCEFORM.pages.myfield.disabled = 1
TCEFORM.pages.tables.sys_file_reference.myfield.disabled = 1
TCEFORM.pages.myfield.tables.sys_file_reference.disabled = 1
TCEFORM.pages.myfield.types.sys_file_reference.disabled = 1
或者我是否需要在 PHP TCA 覆盖中执行此操作?
谢谢
在 TCA 配置中,您可以覆盖特定字段的子配置。因此,您可以将媒体的子 TCA (sys_file_reference) 设置为类型 passthrough
以使其隐藏:
$GLOBALS['TCA']['pages']['columns']['media']['config']['overrideChildTca']['columns']['myfield'] = [
'config' => [
'type' => 'passthrough'
]
];
有关详细信息,请参阅 TCA Reference。