[4.x] property_path DataProducer resolver function fetchDataByPropertyPath() does not pass language parameter
kevinsiji opened this issue · 0 comments
kevinsiji commented
While querying paragraph content in translated languages, found that property_path DataProducer resolve calls the function fetchDataByPropertyPath() at line 69 of graphql/src/Plugin/GraphQL/DataProducer/TypedData/PropertyPath.php, but does not pass the language parameter.
I tried to pass the language as 4th parameter, but it fails in the module typed_data/src/DataFetcher.php at line 57 where it checks if the typed_data passed is instanceof TranslatableInterface, which results in false, hence it returns the output in default language.
I work around this by below code in public function resolve in PropertyPath.php
$context_lang = $value->getValue()->language()->getId(); if ($output instanceof TranslatableInterface && $output->hasTranslation($context_lang)) { $output = $output->getTranslation($context_lang); }