Skip to content

Commit 65c8bf4

Browse files
authored
Merge pull request #181 from maximehuran/feature/search-flag
Be able to filter the search enabled entities
2 parents ab8cb0d + ca79c9c commit 65c8bf4

File tree

5 files changed

+12
-4
lines changed

5 files changed

+12
-4
lines changed

dist/src/Resources/config/search/taxons.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ monsieurbiz_sylius_search:
33
app_taxon:
44
#prefix: '…' # define a custom index prefix on index names and aliases
55
#document_class: '…' # by default MonsieurBiz\SyliusSearchPlugin\Model\Documentable\Documentable
6-
instant_search_enabled: true # by default false
6+
#search_enabled: true # by default true
7+
#instant_search_enabled: true # by default true
78
limits:
89
search: [9, 18, 27]
910
taxon: [9, 18, 27]

src/Controller/SearchController.php

+5-1
Original file line numberDiff line numberDiff line change
@@ -82,8 +82,12 @@ public function searchAction(
8282
);
8383
$result = $this->search->search($requestConfiguration);
8484

85+
$documentableRegistries = array_filter($this->documentableRegistry->all(), function (DocumentableInterface $documentable) {
86+
return (bool) $this->searchSettings->getCurrentValue($this->channelContext->getChannel(), null, 'search_enabled__' . $documentable->getIndexCode());
87+
});
88+
8589
return $this->render('@MonsieurBizSyliusSearchPlugin/Search/result.html.twig', [
86-
'documentableRegistries' => $this->documentableRegistry->all(),
90+
'documentableRegistries' => $documentableRegistries,
8791
'documentable' => $result->getDocumentable(),
8892
'requestConfiguration' => $requestConfiguration,
8993
'query' => urldecode($query),

src/DependencyInjection/Configuration.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,8 @@ public function getConfigTreeBuilder(): TreeBuilder
3737
->children()
3838
->scalarNode('prefix')->defaultValue(null)->end()
3939
->scalarNode('document_class')->defaultValue(Documentable::class)->end()
40-
->scalarNode('instant_search_enabled')->defaultValue(false)->end()
40+
->scalarNode('search_enabled')->defaultValue(true)->end()
41+
->scalarNode('instant_search_enabled')->defaultValue(true)->end()
4142
->scalarNode('source')->isRequired()->cannotBeEmpty()->end()
4243
->scalarNode('target')->isRequired()->cannotBeEmpty()->end()
4344
->scalarNode('mapping_provider')->defaultValue(YamlWithLocaleProvider::class)->end()

src/DependencyInjection/DocumentableRegistryPass.php

+1
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@ private function addDocumentableServices(ContainerBuilder $container, array $doc
7979
$registry->addMethodCall('register', [$documentableServiceId, new Reference($documentableServiceId)]);
8080

8181
// Add the default settings value of documentable
82+
$searchSettings['monsieurbiz.search']['default_values']['search_enabled__' . $indexCode] = $documentableConfiguration['search_enabled'];
8283
$searchSettings['monsieurbiz.search']['default_values']['instant_search_enabled__' . $indexCode] = $documentableConfiguration['instant_search_enabled'];
8384
$searchSettings['monsieurbiz.search']['default_values']['limits__' . $indexCode] = $documentableConfiguration['limits'];
8485
}

src/Resources/config/monsieurbiz_search.yaml

+2-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@ monsieurbiz_sylius_search:
33
monsieurbiz_product:
44
#prefix: '…' # define a custom index prefix on index names and aliases
55
#document_class: '…' # by default MonsieurBiz\SyliusSearchPlugin\Model\Documentable\Documentable
6-
instant_search_enabled: true # by default false
6+
#search_enabled: true # by default true
7+
#instant_search_enabled: true # by default true
78
limits:
89
search: [9, 18, 27]
910
taxon: [9, 18, 27]

0 commit comments

Comments
 (0)