Skip to content

Commit db09d25

Browse files
dvesh3robertSt7
authored andcommitted
[Translations] Xliff - Fix exporting source document data (pimcore#16269)
* [Translations] Xliff - Fix exporting source document data - resolves pimcore#16037 * review changes
1 parent 4f1f1f4 commit db09d25

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

bundles/XliffBundle/src/ExportDataExtractorService/DataExtractor/DocumentDataExtractor.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ protected function addDocumentEditables(Document $document, AttributeSet $result
7979

8080
$translations = $service->getTranslations($document);
8181

82+
$this->resetSourceDocument($document, $result, $translations);
83+
8284
if ($document instanceof Document\PageSnippet) {
8385
$editableNames = $this->EditableUsageResolver->getUsedEditableNames($document);
8486
foreach ($editableNames as $editableName) {
@@ -129,6 +131,8 @@ protected function addSettings(Document $document, AttributeSet $result): Docume
129131
$service = new Document\Service;
130132
$translations = $service->getTranslations($document);
131133

134+
$this->resetSourceDocument($document, $result, $translations);
135+
132136
if ($document instanceof Document\Page) {
133137
$data = [
134138
'title' => $document->getTitle(),
@@ -171,4 +175,18 @@ protected function doExportProperty(Property $property): bool
171175
'navigation_tabindex',
172176
]);
173177
}
178+
179+
private function resetSourceDocument(Document &$document, AttributeSet $result, array $translations): void
180+
{
181+
if ($result->getSourceLanguage() != $result->getTargetLanguages()) {
182+
$sourceDocumentId = $translations[$result->getSourceLanguage()] ?? false;
183+
if ($sourceDocumentId) {
184+
$sourceDocument = Document::getById($sourceDocumentId);
185+
186+
if ($sourceDocument instanceof Document\PageSnippet) {
187+
$document = $sourceDocument;
188+
}
189+
}
190+
}
191+
}
174192
}

0 commit comments

Comments
 (0)