Feature #34670

sys_language_mode = content_fallback does't work correctly

Added by Johannes C. Laxander about 1 year ago. Updated 9 months ago.

Status:Closed Start date:2012-03-08
Priority:Must have Due date:
Assignee:- % Done:

0%

Category:-
Target version:-
Has patch:No Tags:
Votes: 0

Description

My TYPO3-Installation is Version 4.6.5 with TemplaVoila 1.6.0
And also I have the Extension News System (v1.3.1) installed.

The frontend is configured for 3 languages: German (0), Russian (1) and English (2).
For the russian language sys_language_mode ist set to 'content_fallback;2,0'.

If a news article does't exits in russian language, but in english an german, the article will be displayed in german an not in englisch.

I have posted this problem in the German TYPO3 Userlist, and Georg Ringer replys:
"die Extension macht hier gar nichts sondern das macht alles Extbase, mag aber natürlich dennoch sein, dass das nicht zu 100% schon fertig ist.".

Therefore I post my problem here. Is this the right place for it, and is "content fallback" a outstanding feature in Extbase?

TYPO3_Test_language_fallback.pdf - Screenshot from backend (324.3 kB) Johannes C. Laxander, 2012-03-14 18:29


Related issues

duplicates Core - Bug #19114: sys_language_mode does not work Under Review 2008-07-16

History

Updated by Markus Klein about 1 year ago

Not sure whether this is an extbase thing.
Might also be a bug in Core.
Had a discussion recently about this, but didn't try on my own.

Updated by Georg Ringer about 1 year ago

all what TYPO3 does:
-------------

1 $overlayMode = ($languageMode === 'strict') ? 'hideNonTranslated' : '';
2 $row = $this->pageSelectObject->getRecordOverlay($tableName, $row, $languageUid, $overlayMode);

which calls t3lib_page::getRecordOverlay()

core in tslib_fe handles it that way

 1 case 'content_fallback':
 2     $fallBackOrder = t3lib_div::intExplode(',', $sys_language_content);
 3     foreach($fallBackOrder as $orderValue)    {
 4         if (!strcmp($orderValue,'0') || count($this->sys_page->getPageOverlay($this->id, $orderValue)))    {
 5             $this->sys_language_content = $orderValue;    // Setting content uid (but leaving the sys_language_uid)
 6             break;
 7         }
 8     }
 9 break;
10 

Updated by Johannes C. Laxander about 1 year ago

You can see this behaviour here: http://www.its-united.com/index.php?id=19&L=0

Look at "19. ITS Weltkongress in Wien", third article in the right column. The language is german.
Change the language to englisch, the article is shown in english language
Change the language to russian, the article is shown in german language.
But in this case, the sys_language_mode ist set to 'content_fallback;2,0'.

Updated by Jozef Spisiak about 1 year ago

Before the code in tslib_fe mentioned by Georg are conditions:

1 // Request the overlay record for the sys_language_uid:
2     $olRec = $this->sys_page->getPageOverlay($this->id, $this->sys_language_uid);
3     if (!count($olRec))    {

and
1 // If requested translation is not available:
2     if (t3lib_div::hideIfNotTranslated($this->page['l18n_cfg']))

Therefore the content_fallback works only for whole pages and the idea is following: If the page is not translated and also in localconf is not set hideIfNotTranslated, then the whole page (not just some content elements) are rendered in fallback language. The real "content fallback" is always 0.

I tried to check the code, how hard would be to integrate proper "content fallback", but it seems you need to do changes in templavoila (if you are using it). Haven't tested it without it.

Updated by Oliver Hader about 1 year ago

Are only the news elements affected with this behaviour or is it a general thingy with all other content elements in TYPO3?

Updated by Johannes C. Laxander about 1 year ago

You can take a look on a test page on http://its-united.webseiten.cc/index.php?id=33&L=0

Look also at the Screeshot from the backend (pdf).

In the test case only page and CE's are translated in english, but no page translation does exists for the russian language.
When you select the russian language, in the frontend the page title and navigation title are in german, and the content elements are in english.

I hope it was helpful for understanding my problem.

Updated by Johannes C. Laxander about 1 year ago

@Oliver: Was my example helpful for you?

@Jozef: I haven't tested it without templavoila. What do you mean "you need to do changes in templavoila" ?

Updated by Henrik Ziegenhain about 1 year ago

I think this is a dublicate of #17354

What do you think?

Updated by Johannes C. Laxander about 1 year ago

I don't think so, but I'm not sure.

I have test my scenario once more with TYPO3 4.6.7, TemplaVoila 1.6.1 and the Extension "News System" 1.3.2.
Here you can see the result and description of the test: http://its-united.webseiten.cc/index.php?id=33&L=0

I'm confused, sorry. Yet it seems, the conntent_fallback error only refer to the news single view and menu items (navigation / page title)!?

Updated by Ingo Pfennigstorf 9 months ago

  • Status changed from New to Closed

Duplicate of #19114 which is pending in review currently

Also available in: Atom PDF