如果数据库字段可以为NULL(并且没有默认值),并且该字段的TCA l10n_mode为noCopy,则即使您在TypoScript设置中禁用它,默认语言内容也会在翻译中显示:

config {
    sys_language_overlay = hideNonTranslated
    sys_language_mode = strict
}

我认为会发生这种情况,因为在\ TYPO3 \ CMS \ Frontend \ Page \ PageRepository :: getRecordOverlay()(第502行)中, isset($olrow[$fN]) 也为NULL返回false(请参阅http://php.net/isset) . 如果检查是 array_key_exists($fN, $olrow) 而不是isset,那会更好 .

发生这种情况的一个很好的例子是EXT:news teaser字段,但我认为这不是唯一的例子 .

解决方法很简单:只需在表定义中使用空字符串作为默认值:

CREATE TABLE tx_news_domain_model_news (
    teaser text DEFAULT '' NOT NULL,
);

即使这显然是一个错误(没有发现这种行为记录在某处),我认为它永远不会在TYPO3 7.6中修复 .

别人可以批准吗?

伪造票是https://forge.typo3.org/issues/79012