Skip to content

Commit c46298b

Browse files
committed
ACP2E-1172: categoryList Graphql request show 0 product count
1 parent 32f0e46 commit c46298b

File tree

2 files changed

+2
-27
lines changed

2 files changed

+2
-27
lines changed

app/code/Magento/CatalogGraphQl/Model/AttributesJoiner.php

Lines changed: 1 addition & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
use GraphQL\Language\AST\FieldNode;
1111
use GraphQL\Language\AST\InlineFragmentNode;
1212
use GraphQL\Language\AST\NodeKind;
13-
use Magento\Catalog\Api\Data\CategoryInterface;
1413
use Magento\Eav\Model\Entity\Collection\AbstractCollection;
1514
use Magento\Framework\GraphQl\Schema\Type\ResolveInfo;
1615

@@ -19,7 +18,6 @@
1918
*/
2019
class AttributesJoiner
2120
{
22-
private const REQUEST_FIELD_NAME = 'categoryList';
2321
/**
2422
* @var array
2523
*/
@@ -77,6 +75,7 @@ public function getQueryFields(FieldNode $fieldNode, ResolveInfo $resolveInfo):
7775
$fragmentFields[] = $this->addInlineFragmentFields($resolveInfo, $field);
7876
} elseif ($field->kind === NodeKind::FRAGMENT_SPREAD &&
7977
($spreadFragmentNode = $resolveInfo->fragments[$field->name->value])) {
78+
8079
foreach ($spreadFragmentNode->selectionSet->selections as $spreadNode) {
8180
if (isset($spreadNode->selectionSet->selections)) {
8281
$fragmentFields[] = $this->getQueryFields($spreadNode, $resolveInfo);
@@ -86,11 +85,6 @@ public function getQueryFields(FieldNode $fieldNode, ResolveInfo $resolveInfo):
8685
}
8786
} else {
8887
$selectedFields[] = $field->name->value;
89-
$selectedFields = $this->addIsAnchoredAttributeToSelectedFiled(
90-
$resolveInfo,
91-
$field,
92-
$selectedFields
93-
);
9488
}
9589
}
9690
if ($fragmentFields) {
@@ -178,24 +172,4 @@ private function setSelectionsForFieldNode(FieldNode $fieldNode, array $selected
178172
{
179173
$this->queryFields[$fieldNode->name->value][$fieldNode->name->loc->start] = $selectedFields;
180174
}
181-
182-
/**
183-
* Add `is_anchor` attribute to selected field
184-
*
185-
* @param ResolveInfo $resolveInfo
186-
* @param FieldNode $fieldNode
187-
* @param array $selectedFields
188-
* @return array
189-
*/
190-
private function addIsAnchoredAttributeToSelectedFiled(
191-
ResolveInfo $resolveInfo,
192-
FieldNode $fieldNode,
193-
array $selectedFields
194-
): array {
195-
if ($resolveInfo->fieldName === self::REQUEST_FIELD_NAME
196-
&& $fieldNode->name->value === CategoryInterface::KEY_PRODUCT_COUNT) {
197-
$selectedFields[] = 'is_anchor';
198-
}
199-
return $selectedFields;
200-
}
201175
}

app/code/Magento/CatalogGraphQl/Model/Resolver/Products/DataProvider/CategoryTree.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,7 @@ private function getCollection(ResolveInfo $resolveInfo, int $rootCategoryId) :
138138
} else {
139139
$regExpPathFilter = sprintf('.*/%s/[/0-9]*$', $rootCategoryId);
140140
}
141+
$collection->addAttributeToSelect('is_anchor');
141142

142143
//Search for desired part of category tree
143144
$collection->addPathFilter($regExpPathFilter);

0 commit comments

Comments
 (0)