diff --git a/src/services/ElementTranslator.php b/src/services/ElementTranslator.php index f02a7562..2d257d5a 100644 --- a/src/services/ElementTranslator.php +++ b/src/services/ElementTranslator.php @@ -40,6 +40,7 @@ public function toTranslationSource(Element $element, $sourceSite = null, $order foreach ($element->getFieldLayout()->getCustomFields() as $layoutField) { $field = Craft::$app->fields->getFieldById($layoutField->id); + $field->handle = $layoutField->handle; $fieldSource = $this->fieldToTranslationSource($element, $field, $sourceSite); $source = array_merge($source, $fieldSource); @@ -120,7 +121,6 @@ public function getTargetDataFromXml($xml, $nonNested = false) $contents = $dom->getElementsByTagName('content'); - foreach ($contents as $content) { $name = (string) $content->getAttribute('resname'); $value = (string) $content->nodeValue; @@ -163,7 +163,7 @@ public function toPostArrayFromTranslationTarget(Element $element, $sourceSite, foreach($element->getFieldLayout()->getCustomFields() as $key => $layoutField) { $field = Craft::$app->fields->getFieldById($layoutField->id); - $fieldHandle = $field->handle; + $fieldHandle = $field->handle = $layoutField->handle; $fieldType = $field; @@ -254,6 +254,7 @@ public function getWordCount(Element $element) } foreach($element->getFieldLayout()->getCustomFields() as $layoutField) { $field = Craft::$app->fields->getFieldById($layoutField->id); + $field->handle = $layoutField->handle; $wordCount += $this->getFieldWordCount($element, $field); }