Php 当系统语言uid!=0
我正在将TYPO3 v8.7更新为TYPO3 10.4 LTS 在TCA中,我们有一个页面类型,可以选择Php 当系统语言uid!=0,php,typo3,content-management-system,typo3-10.x,typo3-8.7.x,Php,Typo3,Content Management System,Typo3 10.x,Typo3 8.7.x,我正在将TYPO3 v8.7更新为TYPO3 10.4 LTS 在TCA中,我们有一个页面类型,可以选择showitem。在v8中,我们使用以下内容来定制翻译页面的视图,例如pages\u language\u overlay $GLOBALS['TCA']['pages_language_overlay']['types'][$doktype] = array_replace_recursive( $GLOBALS['TCA']['pages_language_overlay']['t
showitem
。在v8中,我们使用以下内容来定制翻译页面的视图,例如pages\u language\u overlay
$GLOBALS['TCA']['pages_language_overlay']['types'][$doktype] = array_replace_recursive(
$GLOBALS['TCA']['pages_language_overlay']['types'][$doktype],
[
'showitem' => '
myCustomShowItemString
'
]
);
问题:既然页面语言覆盖不再存在,那么重新获得这种行为的正确方法是什么?由于翻译后的
页面
记录也是页面
记录,因此表页面
需要此配置
或者您已经有了它,因为您的新doktype对每种语言的行为都是相同的
或者,如果sys\u language\u uid
不是0
,则需要特殊处理然后,您可能需要根据
sys\u language\u uid
(此字段可见,其他字段不可见?因为翻译的页面
记录也是页面
记录,所以表页面
需要此配置
或者您已经有了它,因为您的新doktype对每种语言的行为都是相同的
或者,如果sys\u language\u uid
不是0
,则需要特殊处理然后,您可能需要根据
sys\u language\u uid
(此字段可见,其他字段不可见?TCA-必须在自定义字段之后加载的文件
$disableOnLanguageOverlay = [
'my_tca_field',
'my_tca_field',
];
foreach ($disableOnLanguageOverlay as $field) {
if (isset($GLOBALS['TCA']['pages']['columns'][$field])) {
$GLOBALS['TCA']['pages']['columns'][$field] = array_merge($GLOBALS['TCA']['pages']['columns'][$field], ['l10n_mode' => 'exclude']);
}
}
还有打字稿
[siteLanguage("languageId") != 0]
TCEFORM {
pages {
myField {
disabled = 0
}
}
}
[global]
已解决上述问题TCA-必须在自定义字段后加载的文件
$disableOnLanguageOverlay = [
'my_tca_field',
'my_tca_field',
];
foreach ($disableOnLanguageOverlay as $field) {
if (isset($GLOBALS['TCA']['pages']['columns'][$field])) {
$GLOBALS['TCA']['pages']['columns'][$field] = array_merge($GLOBALS['TCA']['pages']['columns'][$field], ['l10n_mode' => 'exclude']);
}
}
还有打字稿
[siteLanguage("languageId") != 0]
TCEFORM {
pages {
myField {
disabled = 0
}
}
}
[global]
以上已解决