From 13644bfc65f47faca2a64009fae6d9d7bf6c08b5 Mon Sep 17 00:00:00 2001 From: Bhupesh Pandey Date: Fri, 5 Apr 2024 15:49:13 +0530 Subject: [PATCH 1/3] fixed: code issues --- src/elements/db/TranslatorQuery.php | 4 +-- src/models/AssetDraftModel.php | 36 ------------------- src/models/CommerceDraftModel.php | 2 ++ src/models/GlobalSetDraftModel.php | 35 ------------------ src/services/OrderSearchParams.php | 3 +- .../EntriesFieldTranslator.php | 1 + src/services/fieldtranslator/Factory.php | 1 - .../fieldtranslator/TagFieldTranslator.php | 1 - .../TaxonomyFieldTranslator.php | 5 +++ .../fieldtranslator/VizyFieldTranslator.php | 2 +- src/services/job/ImportFiles.php | 2 +- .../repository/ActivityLogRepository.php | 3 +- .../repository/TranslatorRepository.php | 4 +-- .../translator/AcclaroTranslationService.php | 2 +- .../translator/GoogleTranslationService.php | 4 +-- .../en/translation-plugin-for-craft.php | 4 --- 16 files changed, 21 insertions(+), 88 deletions(-) diff --git a/src/elements/db/TranslatorQuery.php b/src/elements/db/TranslatorQuery.php index 173e5911..75d7b1d1 100644 --- a/src/elements/db/TranslatorQuery.php +++ b/src/elements/db/TranslatorQuery.php @@ -9,10 +9,10 @@ class TranslatorQuery extends ElementQuery /** * @inheritdoc */ - public $id; + public mixed $id; public $label; public $service; - public $status; + public array|string|null $status; public $settings; /** diff --git a/src/models/AssetDraftModel.php b/src/models/AssetDraftModel.php index a25468e3..7084f8a2 100644 --- a/src/models/AssetDraftModel.php +++ b/src/models/AssetDraftModel.php @@ -10,14 +10,12 @@ namespace acclaro\translations\models; -use Craft; use craft\elements\Asset; use craft\behaviors\DraftBehavior; use craft\validators\SiteIdValidator; use acclaro\translations\Translations; use craft\behaviors\FieldLayoutBehavior; use craft\behaviors\CustomFieldBehavior; -use acclaro\translations\records\AssetDraftRecord; /** @@ -65,40 +63,6 @@ public function getHandle() return $this->getAsset()->handle; } - public static function populateModel($attributes) - { - if ($attributes instanceof AssetDraftRecord) { - $attributes = $attributes->getAttributes(); - } - - $assetData = json_decode($attributes['data'], true); - $fieldContent = isset($assetData['fields']) ? $assetData['fields'] : null; - // $attributes['draftId'] = $attributes['id']; - $attributes['id'] = $attributes['assetId']; - - $attributes = array_diff_key($attributes, array_flip(array('data', 'fields', 'assetId'))); - - $attributes = array_merge($attributes, $assetData); - - $draft = parent::setAttributes($attributes); - - if ($fieldContent) { - $post = array(); - - foreach ($fieldContent as $fieldId => $fieldValue) { - $field = Craft::$app->fields->getFieldById($fieldId); - - if ($field) { - $post[$field->handle] = $fieldValue; - } - } - - $draft->setFieldValues($post); - } - - return $draft; - } - public function getAsset() { if (is_null($this->assetId)) { diff --git a/src/models/CommerceDraftModel.php b/src/models/CommerceDraftModel.php index 8bf11a8e..ba5ed9ff 100644 --- a/src/models/CommerceDraftModel.php +++ b/src/models/CommerceDraftModel.php @@ -16,6 +16,8 @@ use craft\behaviors\CustomFieldBehavior; use craft\behaviors\DraftBehavior; use craft\behaviors\FieldLayoutBehavior; +use craft\validators\DateTimeValidator; +use craft\validators\SiteIdValidator; /** * @author Acclaro diff --git a/src/models/GlobalSetDraftModel.php b/src/models/GlobalSetDraftModel.php index 818630f3..538b915b 100644 --- a/src/models/GlobalSetDraftModel.php +++ b/src/models/GlobalSetDraftModel.php @@ -10,7 +10,6 @@ namespace acclaro\translations\models; -use Craft; use craft\elements\GlobalSet; use craft\behaviors\DraftBehavior; use craft\validators\SiteIdValidator; @@ -19,7 +18,6 @@ use craft\behaviors\FieldLayoutBehavior; use acclaro\translations\Translations; -use acclaro\translations\records\GlobalSetDraftRecord; /** * @author Acclaro @@ -73,39 +71,6 @@ public function getHandle() return $this->getGlobalSet()->handle; } - public static function populateModel($attributes) - { - if ($attributes instanceof GlobalSetDraftRecord) { - $attributes = $attributes->getAttributes(); - } - - $globalSetData = json_decode($attributes['data'], true); - $fieldContent = isset($globalSetData['fields']) ? $globalSetData['fields'] : null; - $attributes['id'] = $attributes['globalSetId']; - - $attributes = array_diff_key($attributes, array_flip(array('data', 'fields', 'globalSetId'))); - - $attributes = array_merge($attributes, $globalSetData); - - $draft = parent::setAttributes($attributes); - - if ($fieldContent) { - $post = array(); - - foreach ($fieldContent as $fieldId => $fieldValue) { - $field = Craft::$app->fields->getFieldById($fieldId); - - if ($field) { - $post[$field->handle] = $fieldValue; - } - } - - $draft->setFieldValues($post); - } - - return $draft; - } - public function getGlobalSet() { if (is_null($this->globalSetId)) { diff --git a/src/services/OrderSearchParams.php b/src/services/OrderSearchParams.php index 233a6016..a2dbf657 100644 --- a/src/services/OrderSearchParams.php +++ b/src/services/OrderSearchParams.php @@ -17,13 +17,14 @@ class OrderSearchParams { public function getParams() { + // TODO: check usage of this class $sites = Craft::$app->sites->getAllSiteIds(); $category = 'app'; $statuses = array_map(function($status) use ($category) { return Translations::$plugin->translator->translate($category, $status); }, Translations::$plugin->orderRepository->getOrderStatuses()); - $query = parse_str(Craft::$app->request->getQueryStringWithoutPath(), $params); + parse_str(Craft::$app->request->getQueryStringWithoutPath(), $params); $results = []; diff --git a/src/services/fieldtranslator/EntriesFieldTranslator.php b/src/services/fieldtranslator/EntriesFieldTranslator.php index cd9f71cb..abbff510 100644 --- a/src/services/fieldtranslator/EntriesFieldTranslator.php +++ b/src/services/fieldtranslator/EntriesFieldTranslator.php @@ -84,5 +84,6 @@ public function toPostArrayFromTranslationTarget(ElementTranslator $elementTrans */ public function getWordCount(ElementTranslator $elementTranslator, Element $element, Field $field) { + return 0; } } diff --git a/src/services/fieldtranslator/Factory.php b/src/services/fieldtranslator/Factory.php index 9ac440bc..53dae072 100644 --- a/src/services/fieldtranslator/Factory.php +++ b/src/services/fieldtranslator/Factory.php @@ -56,7 +56,6 @@ class Factory Entries::class => EntriesFieldTranslator::class, Matrix::class => MatrixFieldTranslator::class, MultiSelect::class => MultiSelectFieldTranslator::class, - LinkField::class => LinkFieldTranslator::class, TypedLinkField::class => TypedLinkFieldTranslator::class, LinkitField::class => LinkitFieldTranslator::class, NeoField::class => NeoFieldTranslator::class, diff --git a/src/services/fieldtranslator/TagFieldTranslator.php b/src/services/fieldtranslator/TagFieldTranslator.php index bb991de2..0d8f36e6 100644 --- a/src/services/fieldtranslator/TagFieldTranslator.php +++ b/src/services/fieldtranslator/TagFieldTranslator.php @@ -10,7 +10,6 @@ namespace acclaro\translations\services\fieldtranslator; -use craft\base\Field; use craft\base\Element; use craft\elements\Tag; use acclaro\translations\Translations; diff --git a/src/services/fieldtranslator/TaxonomyFieldTranslator.php b/src/services/fieldtranslator/TaxonomyFieldTranslator.php index 740771d6..fdc314dc 100644 --- a/src/services/fieldtranslator/TaxonomyFieldTranslator.php +++ b/src/services/fieldtranslator/TaxonomyFieldTranslator.php @@ -105,4 +105,9 @@ public function getWordCount(ElementTranslator $elementTranslator, Element $elem return $wordCount; } + + private function translateRelated($elementTranslator, $element, $related, $sourceSite, $targetSite, $fieldData) + { + return; + } } \ No newline at end of file diff --git a/src/services/fieldtranslator/VizyFieldTranslator.php b/src/services/fieldtranslator/VizyFieldTranslator.php index ec9388e5..714480b0 100644 --- a/src/services/fieldtranslator/VizyFieldTranslator.php +++ b/src/services/fieldtranslator/VizyFieldTranslator.php @@ -111,7 +111,7 @@ private function parseSourceValues($value, $key, $sourceSite) $source[$k] = $option->label; } break; - case $value instanceof \fruitstudios\linkit\fields\LinkitField: + case $value instanceof \presseddigital\linkit\fields\LinkitField: $source[$key] = $value->serializeValue($value)['customText']; break; diff --git a/src/services/job/ImportFiles.php b/src/services/job/ImportFiles.php index a95e4a55..5f1b2ee8 100644 --- a/src/services/job/ImportFiles.php +++ b/src/services/job/ImportFiles.php @@ -468,7 +468,7 @@ private function matchXmlKeys($dom, $file) if (!$dom->loadXML( $xmlSource )) { $errors = $this->reportXmlErrors(); if ($errors) { - $this->orderLog(sprintf("We found errors on source xml : ", $errors)); + $this->orderLog("We found errors on source xml : " . sprintf($errors)); return true; } } diff --git a/src/services/repository/ActivityLogRepository.php b/src/services/repository/ActivityLogRepository.php index abbe2455..c08102f1 100644 --- a/src/services/repository/ActivityLogRepository.php +++ b/src/services/repository/ActivityLogRepository.php @@ -43,10 +43,11 @@ public function createActivityLog($message, $target) $activityLog->created = date('Y-m-d H:i:s'); $activityLog->targetClass = get_class($target); - $this->saveActivityLog($activityLog); + return $this->saveActivityLog($activityLog); } catch (Exception $e) { // Handle the exception (log or rethrow) Craft::error('Error creating ActivityLog: ' . $e->getMessage(), __METHOD__); + return false; } } diff --git a/src/services/repository/TranslatorRepository.php b/src/services/repository/TranslatorRepository.php index 950b88be..2ebdae53 100644 --- a/src/services/repository/TranslatorRepository.php +++ b/src/services/repository/TranslatorRepository.php @@ -232,13 +232,13 @@ public function deleteTranslator(TranslatorModel $translator) $transaction = Craft::$app->db->getTransaction() === null ? Craft::$app->db->beginTransaction() : null; try { - if ($record->delete(false)) { + if ($res = $record->delete(false)) { if ($transaction !== null) { $transaction->commit(); } - return true; } + return $res; } catch (Exception $e) { if ($transaction !== null) { $transaction->rollback(); diff --git a/src/services/translator/AcclaroTranslationService.php b/src/services/translator/AcclaroTranslationService.php index 230a5143..2265c5c3 100644 --- a/src/services/translator/AcclaroTranslationService.php +++ b/src/services/translator/AcclaroTranslationService.php @@ -474,6 +474,6 @@ public function declineOrderQuote($orderId, $comment = '') public function updateIOFile(Order $order, FileModel $file) { - return (new Export_ImportTranslationService([]))->updateIOFile($order, $file); + return (new Export_ImportTranslationService())->updateIOFile($order, $file); } } diff --git a/src/services/translator/GoogleTranslationService.php b/src/services/translator/GoogleTranslationService.php index 01fd4fad..6f55d5fb 100644 --- a/src/services/translator/GoogleTranslationService.php +++ b/src/services/translator/GoogleTranslationService.php @@ -42,7 +42,7 @@ public function authenticate() */ public function updateOrder(Order $order) { - return (new Export_ImportTranslationService([]))->updateOrder($order); + return (new Export_ImportTranslationService())->updateOrder($order); } /** @@ -131,6 +131,6 @@ public function getOrderUrl(Order $order): string public function updateIOFile(Order $order, FileModel $file) { - return (new Export_ImportTranslationService([]))->updateIOFile($order, $file); + return (new Export_ImportTranslationService())->updateIOFile($order, $file); } } \ No newline at end of file diff --git a/src/translations/en/translation-plugin-for-craft.php b/src/translations/en/translation-plugin-for-craft.php index 7fa92eea..d5a84222 100644 --- a/src/translations/en/translation-plugin-for-craft.php +++ b/src/translations/en/translation-plugin-for-craft.php @@ -32,14 +32,12 @@ 'Check for updates' => 'Check for updates', 'Choose' => 'Choose', 'Choose Entries' => 'Choose Entries', - 'Complete' => 'Complete', 'Copyright %d Acclaro Inc. All rights reserved.' => 'Copyright %d Acclaro Inc. All rights reserved.', 'Craft Translations Plugin' => 'Craft Translations Plugin', 'Create New Order' => 'Create New Order', 'Created' => 'Created', 'Dashboard' => 'Dashboard', 'Define additional details about this order.' => 'Define additional details about this order.', - 'Draft' => 'Draft', 'Edit' => 'Edit', 'Edit Order' => 'Edit Order', 'Edit Translation Service' => 'Edit Translation Service', @@ -81,7 +79,6 @@ 'Please enter a valid date.' => 'Please enter a valid date.', 'Please enter your Acclaro API token.' => 'Please enter your Acclaro API token.', 'Apply All' => 'Apply All', - 'Ready to apply' => 'Ready to apply', 'Refine Search' => 'Refine Search', 'Requested Due Date' => 'Requested Due Date', 'Requested due date' => 'Requested due date', @@ -134,5 +131,4 @@ 'canceled' => 'Canceled', 'published' => 'Applied', 'preview' => 'Preview', - 'Version' => 'Version', ]; From 7b2e370225a3e0386c757123a8b0ec1641cddbd0 Mon Sep 17 00:00:00 2001 From: Bhupesh Pandey Date: Fri, 5 Apr 2024 17:46:11 +0530 Subject: [PATCH 2/3] code refactoring and stan issue fixes --- src/models/AssetDraftModel.php | 5 -- src/models/CommerceDraftModel.php | 5 -- src/models/GlobalSetDraftModel.php | 5 -- src/services/App.php | 6 --- src/services/ElementCloner.php | 46 ------------------- src/services/fieldtranslator/Factory.php | 12 +---- .../fieldtranslator/TagFieldTranslator.php | 9 +--- .../TaxonomyFieldTranslator.php | 5 -- .../repository/TranslationRepository.php | 2 +- 9 files changed, 3 insertions(+), 92 deletions(-) delete mode 100644 src/services/ElementCloner.php diff --git a/src/models/AssetDraftModel.php b/src/models/AssetDraftModel.php index 7084f8a2..806c004b 100644 --- a/src/models/AssetDraftModel.php +++ b/src/models/AssetDraftModel.php @@ -15,7 +15,6 @@ use craft\validators\SiteIdValidator; use acclaro\translations\Translations; use craft\behaviors\FieldLayoutBehavior; -use craft\behaviors\CustomFieldBehavior; /** @@ -97,10 +96,6 @@ public function getCpEditUrl(): ?string public function behaviors(): array { $behaviors = parent::behaviors(); - $behaviors['customFields'] = [ - 'class' => CustomFieldBehavior::class, - 'hasMethods' => false, - ]; $behaviors['fieldLayout'] = [ 'class' => FieldLayoutBehavior::class, 'elementType' => Asset::class, diff --git a/src/models/CommerceDraftModel.php b/src/models/CommerceDraftModel.php index ba5ed9ff..e06472f8 100644 --- a/src/models/CommerceDraftModel.php +++ b/src/models/CommerceDraftModel.php @@ -13,7 +13,6 @@ use Craft; use craft\commerce\elements\Product; use acclaro\translations\Translations; -use craft\behaviors\CustomFieldBehavior; use craft\behaviors\DraftBehavior; use craft\behaviors\FieldLayoutBehavior; use craft\validators\DateTimeValidator; @@ -111,10 +110,6 @@ public function getCpEditUrl(): ?string public function behaviors(): array { $behaviors = parent::behaviors(); - $behaviors['customFields'] = [ - 'class' => CustomFieldBehavior::class, - 'hasMethods' => false, - ]; $behaviors['fieldLayout'] = [ 'class' => FieldLayoutBehavior::class, 'elementType' => Product::class, diff --git a/src/models/GlobalSetDraftModel.php b/src/models/GlobalSetDraftModel.php index 538b915b..416862ec 100644 --- a/src/models/GlobalSetDraftModel.php +++ b/src/models/GlobalSetDraftModel.php @@ -14,7 +14,6 @@ use craft\behaviors\DraftBehavior; use craft\validators\SiteIdValidator; use craft\validators\DateTimeValidator; -use craft\behaviors\CustomFieldBehavior; use craft\behaviors\FieldLayoutBehavior; use acclaro\translations\Translations; @@ -105,10 +104,6 @@ public function getCpEditUrl(): ?string public function behaviors(): array { $behaviors = parent::behaviors(); - $behaviors['customFields'] = [ - 'class' => CustomFieldBehavior::class, - 'hasMethods' => false, - ]; $behaviors['fieldLayout'] = [ 'class' => FieldLayoutBehavior::class, 'elementType' => GlobalSet::class, diff --git a/src/services/App.php b/src/services/App.php index 3e589af5..c9b99a17 100644 --- a/src/services/App.php +++ b/src/services/App.php @@ -36,11 +36,6 @@ class App extends Component */ public $translator; - /** - * @var ElementCloner - */ - public $elementCloner; - /** * @var repository\TranslationRepository */ @@ -181,7 +176,6 @@ public function init(): void $this->urlHelper = new UrlHelper(); $this->urlGenerator = new UrlGenerator(); $this->translator = new Translator(); - $this->elementCloner = new ElementCloner(); $this->translationRepository = new repository\TranslationRepository(); $this->categoryRepository = new repository\CategoryRepository(); $this->assetDraftRepository = new repository\AssetDraftRepository(); diff --git a/src/services/ElementCloner.php b/src/services/ElementCloner.php deleted file mode 100644 index 270d193a..00000000 --- a/src/services/ElementCloner.php +++ /dev/null @@ -1,46 +0,0 @@ -elements->getElementTypeById($existingElement->id); //Might need to modify - - $elementClass = get_class($existingElement); - - $newElement = new $elementClass(); - - foreach ($existingElement->attributeLabels() as $attribute) { - if ($attribute === 'id' || $attribute === 'dateCreated' || $attribute === 'dateUpdated' || $attribute === 'uid') { - continue; - } - - $newElement->$attribute = $existingElement->$attribute; - } - - if ($elementType->hasContent()) { - if ($elementType->hasTitles()) { - $newElement->title = $existingElement->title; - } - - foreach ($existingElement->getFieldLayout()->getCustomFields() as $fieldLayoutField) { - $this->cloneField($existingElement, $newElement, $fieldLayoutField->getField()); - } - } - - return $newElement; - } -} \ No newline at end of file diff --git a/src/services/fieldtranslator/Factory.php b/src/services/fieldtranslator/Factory.php index 53dae072..44f9b43d 100644 --- a/src/services/fieldtranslator/Factory.php +++ b/src/services/fieldtranslator/Factory.php @@ -90,17 +90,7 @@ public function makeTranslator(Field $field) if (array_key_exists($class, $this->nativeFieldTypes)) { $translatorClass = $this->nativeFieldTypes[$class]; - switch ($translatorClass) { - case MultiSelectFieldTranslator::class: - return new MultiSelectFieldTranslator(Craft::$app, Translations::$plugin->wordCounter, Translations::$plugin->translationRepository); - case SingleOptionFieldTranslator::class: - return new SingleOptionFieldTranslator(Craft::$app, Translations::$plugin->wordCounter, Translations::$plugin->translationRepository); - case TagFieldTranslator::class: - return new TagFieldTranslator(Craft::$app, Translations::$plugin->wordCounter, Translations::$plugin->tagRepository, Translations::$plugin->elementCloner); - case CategoryFieldTranslator::class: - return new CategoryFieldTranslator(Craft::$app, Translations::$plugin->wordCounter, Translations::$plugin->categoryRepository); - } - return new $translatorClass(Craft::$app, Translations::$plugin->wordCounter); + return new $translatorClass(); } return null; diff --git a/src/services/fieldtranslator/TagFieldTranslator.php b/src/services/fieldtranslator/TagFieldTranslator.php index 0d8f36e6..ee0c6d3f 100644 --- a/src/services/fieldtranslator/TagFieldTranslator.php +++ b/src/services/fieldtranslator/TagFieldTranslator.php @@ -19,14 +19,7 @@ class TagFieldTranslator extends TaxonomyFieldTranslator { public function translateRelated(ElementTranslator $elementTranslator, Element $element, Tag $existingTag, $sourceSite, $targetSite, $fieldData) { - $translatedTag = Translations::$plugin->tagRepository->getTagById($existingTag->id, $targetSite); - - if ($translatedTag) { - $tag = $translatedTag; - } else { - // Doesn't feels this part runs as tags are propagated to all target locales if localised - $tag = Translations::$plugin->elementCloner->cloneElement($existingTag); - } + $tag = Translations::$plugin->tagRepository->getTagById($existingTag->id, $targetSite); $tag->siteId = $targetSite; diff --git a/src/services/fieldtranslator/TaxonomyFieldTranslator.php b/src/services/fieldtranslator/TaxonomyFieldTranslator.php index fdc314dc..740771d6 100644 --- a/src/services/fieldtranslator/TaxonomyFieldTranslator.php +++ b/src/services/fieldtranslator/TaxonomyFieldTranslator.php @@ -105,9 +105,4 @@ public function getWordCount(ElementTranslator $elementTranslator, Element $elem return $wordCount; } - - private function translateRelated($elementTranslator, $element, $related, $sourceSite, $targetSite, $fieldData) - { - return; - } } \ No newline at end of file diff --git a/src/services/repository/TranslationRepository.php b/src/services/repository/TranslationRepository.php index a7148f93..6504db1b 100644 --- a/src/services/repository/TranslationRepository.php +++ b/src/services/repository/TranslationRepository.php @@ -70,7 +70,7 @@ public function saveTranslation(TranslationModel $translation) $isNew = !$translation->id; if (!$isNew) { - $record = TranslationRecord::model()->findById($translation->id); + $record = TranslationRecord::findOne($translation->id); if (!$record) { throw new Exception('No translation exists with that ID.'); From a6bb72f1e6b642cb0502e086e6db99b443e8ac9b Mon Sep 17 00:00:00 2001 From: Bhupesh Pandey Date: Fri, 5 Apr 2024 18:34:20 +0530 Subject: [PATCH 3/3] fixed: taxanomy class type hinting issue --- src/services/fieldtranslator/CategoryFieldTranslator.php | 3 +-- src/services/fieldtranslator/TagFieldTranslator.php | 3 +-- src/services/fieldtranslator/TaxonomyFieldTranslator.php | 9 +++++++++ 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/src/services/fieldtranslator/CategoryFieldTranslator.php b/src/services/fieldtranslator/CategoryFieldTranslator.php index 6c80345a..be4a4235 100644 --- a/src/services/fieldtranslator/CategoryFieldTranslator.php +++ b/src/services/fieldtranslator/CategoryFieldTranslator.php @@ -12,13 +12,12 @@ namespace acclaro\translations\services\fieldtranslator; use craft\base\Element; -use craft\elements\Category; use acclaro\translations\Translations; use acclaro\translations\services\ElementTranslator; class CategoryFieldTranslator extends TaxonomyFieldTranslator { - public function translateRelated(ElementTranslator $elementTranslator, Element $element, Category $category, $sourceSite, $targetSite, $fieldData) + public function translateRelated(ElementTranslator $elementTranslator, Element $element, $category, $sourceSite, $targetSite, $fieldData) { // search for existing translated category in the same group $translatedCategory = Translations::$plugin->categoryRepository->find(array( diff --git a/src/services/fieldtranslator/TagFieldTranslator.php b/src/services/fieldtranslator/TagFieldTranslator.php index ee0c6d3f..6d9321b6 100644 --- a/src/services/fieldtranslator/TagFieldTranslator.php +++ b/src/services/fieldtranslator/TagFieldTranslator.php @@ -11,13 +11,12 @@ namespace acclaro\translations\services\fieldtranslator; use craft\base\Element; -use craft\elements\Tag; use acclaro\translations\Translations; use acclaro\translations\services\ElementTranslator; class TagFieldTranslator extends TaxonomyFieldTranslator { - public function translateRelated(ElementTranslator $elementTranslator, Element $element, Tag $existingTag, $sourceSite, $targetSite, $fieldData) + public function translateRelated(ElementTranslator $elementTranslator, Element $element, $existingTag, $sourceSite, $targetSite, $fieldData) { $tag = Translations::$plugin->tagRepository->getTagById($existingTag->id, $targetSite); diff --git a/src/services/fieldtranslator/TaxonomyFieldTranslator.php b/src/services/fieldtranslator/TaxonomyFieldTranslator.php index 740771d6..46d8df59 100644 --- a/src/services/fieldtranslator/TaxonomyFieldTranslator.php +++ b/src/services/fieldtranslator/TaxonomyFieldTranslator.php @@ -13,6 +13,8 @@ use craft\base\Field; use craft\base\Element; use acclaro\translations\services\ElementTranslator; +use craft\elements\Category; +use craft\elements\Tag; class TaxonomyFieldTranslator extends GenericFieldTranslator { @@ -105,4 +107,11 @@ public function getWordCount(ElementTranslator $elementTranslator, Element $elem return $wordCount; } + + /** + * To be overridden by child class + */ + protected function translateRelated(ElementTranslator $elementTranslator, Element $element, Tag|Category $category, $sourceSite, $targetSite, $fieldData) { + // + } } \ No newline at end of file