TYPO3:默认后备模式“严格”,但特定记录的模式“后备”

问题描述 投票:0回答:1

我已在站点配置中将语言后备设置为“严格”:

fallbackType: strict

但是我需要针对特定记录类型(例如“新闻”类型的记录)的语言后备(

fallbackType: fallback
)。 这可能吗?

typo3 typo3-extensions typo3-10.x typo3-11.x typo3-12.x
1个回答
0
投票

TYPO3扩展的PHP代码可以得到增强。接口 QueryInterface 的 $query 可以有自己的 LanguageAspect。

例如扩展新闻中的文件“AbstractDemandedRepository.php”。

use TYPO3\CMS\Core\Context\LanguageAspect;

...
$query = $this->createQuery();
....
$formerLanguageAspect = $query->getQuerySettings()->getLanguageAspect();
$fallbackChain = [];
$fallbackChain[] = 'fallback'; // 'free', 'strict'

$newLanguageAspect =
    new LanguageAspect(
        $formerLanguageAspect->getId(),
        $formerLanguageAspect->getContentId(),
        $formerLanguageAspect->getOverlayType(),
        $fallbackChain
    );
$query->getQuerySettings()->setLanguageAspect($newLanguageAspect);

这可以通过增强此扩展的设置并使用它代替此硬编码常量来改进。

© www.soinside.com 2019 - 2024. All rights reserved.