Bug #65859
openSupport l10n_mode in extbase
0%
Description
Intro¶
Currently extbase lacks support for l10n_mode.
See #62921 for a lengthy discussion of the background. From my point of view support for l10n_mode must explicitly be enabled/added in extbase, that's why I duplicated #62921 here.
Use Case¶
As Developer I want to be able to assign a relation on a record in the default translation that must not be changed in the translation of the record.
When I set l10n_mode=exclude in $TCA
When I use the \TYPO3\CMS\Extbase\Persistence\QueryInterface to lookup records by a category
Then I expect to find translated records in the Frontend
//$TCA 'faculty' => array( 'exclude' => 0, 'l10n_mode' => 'exclude', 'l10n_display' => 'hideDiff,defaultAsReadonly', 'label' => 'LLL:EXT:luhjobs/Resources/Private/Language/locallang_db.xlf:tx_luhjobs_domain_model_vacancy.faculty', 'config' => array( 'type' => 'select', 'foreign_table' => 'tx_luhjobs_domain_model_faculty', 'foreign_table_where' => 'AND tx_luhjobs_domain_model_faculty.sys_language_uid IN (-1,0)', 'items' => array( array('',''), ), 'minitems' => 1, 'maxitems' => 1, ), ),
// QueryInterface $constraints[] = $query->equals('faculty', $uid);
// resulting SQL(relevant parts only) in case of Frontend with ?L=1 tx_luhjobs_domain_model_vacancy.type = '19' AND tx_luhjobs_domain_model_vacancy.intern = 0 ) AND ( tx_luhjobs_domain_model_vacancy.sys_language_uid IN (1,-1) OR ( tx_luhjobs_domain_model_vacancy.sys_language_uid=0 AND tx_luhjobs_domain_model_vacancy.uid NOT IN ( SELECT tx_luhjobs_domain_model_vacancy.l10n_parent FROM tx_luhjobs_domain_model_vacancy WHERE tx_luhjobs_domain_model_vacancy.l10n_parent>0 AND tx_luhjobs_domain_model_vacancy.sys_language_uid=1 AND tx_luhjobs_domain_model_vacancy.deleted=0 ) ) )
This does miss the translated records as they have faculty=0 due to the l10n_mode=exclude setting in $TCA
Updated by Riccardo De Contardi about 7 years ago
- Category changed from Extbase to Extbase + l10n
Updated by Benni Mack over 6 years ago
- Status changed from New to Needs Feedback
Peter, I guess this is now fixed with TYPO3 v8, can you verify this?
Updated by Johannes Rebhan about 6 years ago
Sadly it's not fixed with v8. I've run into the same problem where I have an object which has categories in the base language, then I translate said object with extbase, assign the original object and save it.
The categories field is set as l10n_mode = exclude, but it doesn't work when using core extbase. It seems to work in the backend, because when I edit the translated object (no categories selection shown) and save it - without changing anything - the values are copied. When I do the same in extbase by loading the translated object through a querybuilder query (can't get it any other way in the backend/commandcontrollers), which is then mapped to the object by using DataMapper, it doesn't apply those TCA settings after I've stored with through a repository update().
Updated by Tymoteusz Motylewski about 6 years ago
So querying works but data is not propagated when saving a record through extbase?
This is because extbase doesnt use datahandler for storing values.
Updated by Benni Mack over 4 years ago
- Related to Bug #82657: l10n_mode exclude ignored in repository added
Updated by Riccardo De Contardi about 3 years ago
- Status changed from Needs Feedback to New
- TYPO3 Version changed from 6.2 to 10
Updated by Jan Kornblum about 3 years ago
- Related to Bug #90430: Language handling of bidirectional mm selects is not consitent. added
Updated by Jan Kornblum almost 3 years ago
Tymoteusz Motylewski wrote in #note-7:
So querying works but data is not propagated when saving a record through extbase?
Regarding querying, possibly still a (minor) bug: Lets have "product" with two relations "type" (n:1) and "categories" (m:m). For all records (products, types, categories) a translation (L=1) exists.
Now products are queried using the following, while L=1 (and fallbackType=fallback):
// MM - Works fine
$query->contains('categories', $category)
// N:1 - Does NOT work (no records fetched)
$query->equals('type', $type)
// N:1 - DOES work instead (why?)
$query->equals('type', $type->getUid())
Seems there is something missing regarding n:1 relations, when the operand is localized.
Updated by Astrid Haubold about 1 year ago
- Related to Story #101566: Extbase related translation issues added
Updated by Gerrit Code Review 8 months ago
- Status changed from New to Under Review
Patch set 18 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172
Updated by Gerrit Code Review 8 months ago
Patch set 19 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172
Updated by Gerrit Code Review 8 months ago
Patch set 20 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172
Updated by Gerrit Code Review 8 months ago
Patch set 21 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172
Updated by Gerrit Code Review 8 months ago
Patch set 22 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172
Updated by Gerrit Code Review 8 months ago
Patch set 23 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172
Updated by Gerrit Code Review 8 months ago
Patch set 24 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172
Updated by Gerrit Code Review 8 months ago
Patch set 25 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172
Updated by Gerrit Code Review about 1 month ago
Patch set 26 for branch main of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/c/Packages/TYPO3.CMS/+/67172