fixed graphql linked_materials entity_reference translation
This commit is contained in:
@@ -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')
|
||||
|
Reference in New Issue
Block a user