|  | @@ -101,6 +101,7 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
 | 
	
		
			
				|  |  |            ->map('path', $builder->fromArgument('path')),
 | 
	
		
			
				|  |  |          $builder->produce('route_entity')
 | 
	
		
			
				|  |  |            ->map('url', $builder->fromParent())
 | 
	
		
			
				|  |  | +          ->map('language', $builder->fromArgument('lang'))
 | 
	
		
			
				|  |  |      ));
 | 
	
		
			
				|  |  |    }
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -113,15 +114,11 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
 | 
	
		
			
				|  |  |      // $language = \Drupal::languageManager()->getCurrentLanguage()->getId();
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      $registry->addFieldResolver('Query', 'materiau',
 | 
	
		
			
				|  |  | -      // $builder->compose(
 | 
	
		
			
				|  |  | -        $builder->produce('entity_load')
 | 
	
		
			
				|  |  | -          ->map('type', $builder->fromValue('node'))
 | 
	
		
			
				|  |  | -          ->map('bundles', $builder->fromValue(['materiau']))
 | 
	
		
			
				|  |  | -          ->map('id', $builder->fromArgument('id'))
 | 
	
		
			
				|  |  | -      //     ->map('language', $builder->fromValue('fr')),
 | 
	
		
			
				|  |  | -      //   $builder->produce('entity_translation')
 | 
	
		
			
				|  |  | -      //     ->map('entity', $builder->fromParent())
 | 
	
		
			
				|  |  | -      // )
 | 
	
		
			
				|  |  | +      $builder->produce('entity_load')
 | 
	
		
			
				|  |  | +        ->map('type', $builder->fromValue('node'))
 | 
	
		
			
				|  |  | +        ->map('bundles', $builder->fromValue(['materiau']))
 | 
	
		
			
				|  |  | +        ->map('id', $builder->fromArgument('id'))
 | 
	
		
			
				|  |  | +        ->map('language', $builder->fromArgument('lang'))
 | 
	
		
			
				|  |  |      );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      $registry->addFieldResolver('Query', 'materiaux',
 | 
	
	
		
			
				|  | @@ -129,6 +126,7 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
 | 
	
		
			
				|  |  |          ->map('type', $builder->fromValue('node'))
 | 
	
		
			
				|  |  |          // ->map('bundles', $builder->fromValue(['materiau']))
 | 
	
		
			
				|  |  |          ->map('ids', $builder->fromArgument('ids'))
 | 
	
		
			
				|  |  | +        ->map('language', $builder->fromArgument('lang'))
 | 
	
		
			
				|  |  |      );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      $registry->addFieldResolver('Materiau', 'id',
 | 
	
	
		
			
				|  | @@ -374,6 +372,7 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
 | 
	
		
			
				|  |  |          ->map('type', $builder->fromValue('node'))
 | 
	
		
			
				|  |  |          ->map('bundles', $builder->fromValue(['article']))
 | 
	
		
			
				|  |  |          ->map('id', $builder->fromArgument('id'))
 | 
	
		
			
				|  |  | +        ->map('language', $builder->fromArgument('lang'))
 | 
	
		
			
				|  |  |        );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      $registry->addFieldResolver('Article', 'id',
 | 
	
	
		
			
				|  | @@ -425,10 +424,37 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
 | 
	
		
			
				|  |  |      // https://github.com/drupal-graphql/graphql/blob/8.x-4.x/doc/SUMMARY.md
 | 
	
		
			
				|  |  |      // https://blog.chrismitchellonline.com/posts/custom_graphql_data/
 | 
	
		
			
				|  |  |      $registry->addFieldResolver('Article', 'linked_materials',
 | 
	
		
			
				|  |  | -      $builder->produce('entity_reference')
 | 
	
		
			
				|  |  | -        ->map('entity', $builder->fromParent())
 | 
	
		
			
				|  |  | -        ->map('field', $builder->fromValue('field_linked_materials'))
 | 
	
		
			
				|  |  | -      );
 | 
	
		
			
				|  |  | +      // $builder->produce('entity_reference')
 | 
	
		
			
				|  |  | +      //   ->map('entity', $builder->fromParent())
 | 
	
		
			
				|  |  | +      //   ->map('field', $builder->fromValue('field_linked_materials'))
 | 
	
		
			
				|  |  | +      //   ->map('language', $builder->fromValue('fr')) // this is not working
 | 
	
		
			
				|  |  | +      //   // ->map('language', $builder->produce('entity_language')
 | 
	
		
			
				|  |  | +      //     // ->map('entity', $builder->fromParent())) // neither that
 | 
	
		
			
				|  |  | +      $builder->compose(
 | 
	
		
			
				|  |  | +        $builder->callback(function($parent, $args){
 | 
	
		
			
				|  |  | +          $linkedmaterials = $parent->get('field_linked_materials')->getValue();
 | 
	
		
			
				|  |  | +          $nids = [];
 | 
	
		
			
				|  |  | +          foreach ($linkedmaterials as $key => $value) {
 | 
	
		
			
				|  |  | +            $nids[] = $value['target_id'];
 | 
	
		
			
				|  |  | +          }
 | 
	
		
			
				|  |  | +          $lang = $parent->language()->getId();
 | 
	
		
			
				|  |  | +          $test="test";
 | 
	
		
			
				|  |  | +          return [
 | 
	
		
			
				|  |  | +            "ids" => $nids,
 | 
	
		
			
				|  |  | +            "language" => $lang
 | 
	
		
			
				|  |  | +          ];
 | 
	
		
			
				|  |  | +        }),
 | 
	
		
			
				|  |  | +        $builder->produce('entity_load_multiple')
 | 
	
		
			
				|  |  | +          ->map('type', $builder->fromValue('node'))
 | 
	
		
			
				|  |  | +          ->map('bundles', $builder->fromValue(['materiau']))
 | 
	
		
			
				|  |  | +          ->map('ids', $builder->callback(function($parent, $args){
 | 
	
		
			
				|  |  | +            return $parent['ids'];
 | 
	
		
			
				|  |  | +          }))
 | 
	
		
			
				|  |  | +          ->map('language', $builder->callback(function($parent, $args){
 | 
	
		
			
				|  |  | +            return $parent['language'];
 | 
	
		
			
				|  |  | +          }))
 | 
	
		
			
				|  |  | +      )
 | 
	
		
			
				|  |  | +    );
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      $registry->addFieldResolver('Article', 'images',
 | 
	
		
			
				|  |  |        $builder->produce('entity_reference')
 |