fixed product lits bad variations language

This commit is contained in:
Bachir Soussi Chiadmi 2021-06-02 12:50:42 +02:00
parent 14169ab24a
commit 3105ce1e81
1 changed files with 29 additions and 4 deletions

View File

@ -1354,11 +1354,36 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
->map('path', $builder->fromValue('field_price_description.value')) ->map('path', $builder->fromValue('field_price_description.value'))
); );
// TODO: match the right language
$registry->addFieldResolver('Product', 'variations', $registry->addFieldResolver('Product', 'variations',
$builder->produce('entity_reference') // $builder->produce('entity_reference')
->map('entity', $builder->fromParent()) // ->map('entity', $builder->fromParent())
->map('field', $builder->fromValue('variations')) // ->map('field', $builder->fromValue('variations'))
); $builder->compose(
$builder->callback(function($parent, $args){
$variations = $parent->get('variations')->getValue();
$ids = [];
foreach ($variations as $key => $value) {
$ids[] = $value['target_id'];
}
$lang = $parent->language()->getId();
return [
"ids" => $ids,
"language" => $lang
];
}),
$builder->produce('entity_load_multiple')
->map('type', $builder->fromValue('commerce_product_variation'))
// ->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'];
}))
)
);
} }
protected function addVariation(ResolverRegistryInterface $registry, ResolverBuilder $builder) { protected function addVariation(ResolverRegistryInterface $registry, ResolverBuilder $builder) {