Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 当系统语言uid!=0_Php_Typo3_Content Management System_Typo3 10.x_Typo3 8.7.x - Fatal编程技术网

Php 当系统语言uid!=0

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

我正在将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']['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]
以上已解决