changing language of content-element in workspace the content-element still shows up under the previous language
Changing language of content-element in workspace by drag&drop or by changing via dropdown-menu in editing-mask. The content-element still appears below it's previous language. In DB-table tt_content you can see that the field sys_language_uid of the placeholder record did not get updated.
#1 Updated by Michael Schütz almost 3 years ago
The bug is just visual. When workspace get's published language changes are correct transfered to the live-version. The problem arises in Class "PageLayoutView" in method "getTable_tt_content" when it loops over the language-array "$langListArr" starting at line:507. The content-records are selected of the current loop-language. The subsequent call of "getContentRecordsPerColumn" selects in a first step live-records of current loop-language and does in a second Step a workspace-overlay. But in workspace content-records have to be selected by there overlay-language.
1: If backend is in workspace-view select content-records of all languages
2: Then loop over the array $contentRecordsPerColumn and do a workspace-overlay of each record
3: Now compare the overlay-language with the current loop-language
4: If loop-language and overlay-language are different unset the current record in array $contentRecordsPerColumn
I have added a patch file for TYPO3 Version 8.7.9: typo3/sysext/backend/Classes/View/PageLayoutView.php