Typo3 仅对页表禁用系统文件引用字段
我在sys_file_reference中添加了一个复选框,并利用它覆盖一些响应流体渲染。很好。现在我想在pages media字段中禁用此复选框。通常,通过页面打字脚本可以轻松地禁用字段Typo3 仅对页表禁用系统文件引用字段,typo3,typoscript,typo3-9.x,Typo3,Typoscript,Typo3 9.x,我在sys_file_reference中添加了一个复选框,并利用它覆盖一些响应流体渲染。很好。现在我想在pages media字段中禁用此复选框。通常,通过页面打字脚本可以轻松地禁用字段 TCEFORM.TABLENAME.FIELDNAME.disabled=1 但是,由于sys_file_引用在页面和tt_内容中都使用,这将不起作用,因为它全局禁用它: TCEFORM.sys\u file\u reference.myfield.disabled=1 我知道我可以使用以下语法禁用某些CTy
TCEFORM.TABLENAME.FIELDNAME.disabled=1
但是,由于sys_file_引用在页面和tt_内容中都使用,这将不起作用,因为它全局禁用它:
TCEFORM.sys\u file\u reference.myfield.disabled=1
我知道我可以使用以下语法禁用某些CType的字段:
TCEFORM.tt_content.myfield.types.textmedia.disabled=1
对于表格而不是类型,是否有类似的东西?我试过了,但没有成功
TCEFORM.sys\u file\u reference.myfield.tables.pages.disabled=1
TCEFORM.pages.myfield.disabled=1
TCEFORM.pages.tables.sys\u file\u reference.myfield.disabled=1
TCEFORM.pages.myfield.tables.sys\u file\u reference.disabled=1
TCEFORM.pages.myfield.types.sys\u file\u reference.disabled=1
还是需要在PHP TCA覆盖中执行此操作
谢谢在TCA配置中,您可以覆盖特定字段的childs配置。因此,您可以将字段的子TCA(sys_file_reference)设置为type
passthrough
,以使其隐藏:
$GLOBALS['TCA']['pages']['columns']['media']['config']['overrideChildTca']['columns']['myfield'] = [
'config' => [
'type' => 'passthrough'
]
];
有关更多信息,请参阅。您可以使用
TCEFORM.pages…
而不是TCEFORM.tt\u content…
。我确实尝试过,但由于这不是我正在处理的表,因此它没有帮助。我又添加了一些我尝试过的例子。谢谢,这条评论让我找到了正确的方向。但有两件事需要注意:1)正确的设置是$GLOBALS['TCA']['pages']['columns']['media']['config']['overrideChildTca']['columns']['myfield']=
请编辑此设置,以便我可以将您的答案设置为已接受的答案2)如果您使用自定义的renderType,则需要将其转换为,否则该字段仍将呈现感谢您的提示@JaNosch,我已经编辑了数组声明