TYPO3: Fallback mode "strict", but "fallback" for specific records

88 views Asked by At

I've set my language fallback to "strict" in site configuration:

fallbackType: strict

But I need language fallback for a specific record type (e.g. records of type "news"). Is this possible?

1

There are 1 answers

1
Franz Holzinger On

The TYPO3 extension's PHP code can be enhanced. The $query of interface QueryInterface can have its own LanguageAspect.

E.g. the file "AbstractDemandedRepository.php" in extension news.

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);

This can be improved by enhancing the setup of this extension and using it instead of this hard coded constants.