|
@@ -26,6 +26,8 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
|
|
|
$this->addMateriau($registry, $builder);
|
|
|
|
|
|
+ $this->addSearchResult($registry, $builder);
|
|
|
+
|
|
|
$this->addSample($registry, $builder);
|
|
|
|
|
|
$this->addArticle($registry, $builder);
|
|
@@ -213,11 +215,72 @@ class MaterioSchemaExtension extends SdlSchemaExtensionPluginBase {
|
|
|
);
|
|
|
}
|
|
|
|
|
|
- // ___ _
|
|
|
- // / __| __ _ _ __ _ __| |___
|
|
|
- // \__ \/ _` | ' \| '_ \ / -_)
|
|
|
- // |___/\__,_|_|_|_| .__/_\___|
|
|
|
- // |_|
|
|
|
+ // ___ _ ___ _ _
|
|
|
+ // / __| ___ __ _ _ _ __| |_ | _ \___ ____ _| | |_
|
|
|
+ // \__ \/ -_) _` | '_/ _| ' \| / -_|_-< || | | _|
|
|
|
+ // |___/\___\__,_|_| \__|_||_|_|_\___/__/\_,_|_|\__|
|
|
|
+ protected function addSearchResult(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
+
|
|
|
+ $registry->addFieldResolver('Query', 'searchresults',
|
|
|
+ $builder->produce('entity_load_multiple')
|
|
|
+ ->map('type', $builder->fromValue('node'))
|
|
|
+ ->map('ids', $builder->fromArgument('ids'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('SearchResult', 'id',
|
|
|
+ $builder->produce('entity_id')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('SearchResult', 'bundle',
|
|
|
+ $builder->produce('entity_bundle')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('SearchResult', 'uuid',
|
|
|
+ $builder->produce('entity_uuid')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('SearchResult', 'title',
|
|
|
+ $builder->compose(
|
|
|
+ $builder->produce('entity_label')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ));
|
|
|
+
|
|
|
+ $registry->addFieldResolver('SearchResult', 'short_description',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_short_description.value'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('SearchResult', 'images',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_materiau_images'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('SearchResult', 'visuels',
|
|
|
+ $builder->produce('entity_reference')
|
|
|
+ ->map('entity', $builder->fromParent())
|
|
|
+ ->map('field', $builder->fromValue('field_visuel'))
|
|
|
+ );
|
|
|
+
|
|
|
+ $registry->addFieldResolver('SearchResult', 'reference',
|
|
|
+ $builder->produce('property_path')
|
|
|
+ ->map('type', $builder->fromValue('entity:node'))
|
|
|
+ ->map('value', $builder->fromParent())
|
|
|
+ ->map('path', $builder->fromValue('field_reference.value'))
|
|
|
+ );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ // ___ _
|
|
|
+ // / __| __ _ _ __ _ __| |___
|
|
|
+ // \__ \/ _` | ' \| '_ \ / -_)
|
|
|
+ // |___/\__,_|_|_|_| .__/_\___|
|
|
|
+ // |_|
|
|
|
protected function addSample(ResolverRegistryInterface $registry, ResolverBuilder $builder) {
|
|
|
$registry->addFieldResolver('Sample', 'showroom',
|
|
|
$builder->callback(function($parent, $args){
|