显示TYPO3默认语言内容

时间:2016-12-16 10:12:45

标签: typo3 typo3-7.6.x tx-news

如果数据库字段可以为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)而不是设置,那会更好。

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

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

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

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

其他人可以批准吗?

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

0 个答案:

没有答案