6 declare(strict_types=1);
25 private $searchResultFactory;
30 private $productDataProvider;
35 private $fieldTranslator;
40 private $layerResolver;
54 $this->searchResultFactory = $searchResultFactory;
55 $this->productDataProvider = $productDataProvider;
56 $this->fieldTranslator = $fieldTranslator;
57 $this->layerResolver = $layerResolver;
68 public function getResult(
71 bool $isSearch =
false 82 return $this->searchResultFactory->create(
$products->getTotalCount(), $productArray);
94 foreach (
$info->fieldNodes as $node) {
95 if ($node->name->value !==
'products') {
98 foreach ($node->selectionSet->selections as $selection) {
99 if ($selection->name->value !==
'items') {
103 foreach ($selection->selectionSet->selections as $itemSelection) {
104 if ($itemSelection->kind ===
'InlineFragment') {
105 foreach ($itemSelection->selectionSet->selections as $inlineSelection) {
106 if ($inlineSelection->kind ===
'InlineFragment') {
109 $fieldNames[] = $this->fieldTranslator->translate($inlineSelection->name->value);
113 $fieldNames[] = $this->fieldTranslator->translate($itemSelection->name->value);
__construct(SearchResultFactory $searchResultFactory, Product $productDataProvider, \Magento\Catalog\Model\Layer\Resolver $layerResolver, FieldTranslator $fieldTranslator)
foreach( $_productCollection as $_product)() ?>" class $info