Skip to content

Commit a50f616

Browse files
committed
ACP2E-294: Category Ids Not Available in scheduled Export Filters
1 parent 29ca9dc commit a50f616

File tree

4 files changed

+12
-0
lines changed

4 files changed

+12
-0
lines changed

app/code/Magento/CatalogImportExport/Model/Export/Product/CategoryFilter.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ public function filter(Collection $collection, array $filters): Collection
2525
$value = trim($filters[self::NAME] ?? '');
2626
if ($value) {
2727
$collection->addCategoriesFilter(['in' => explode(',', $value)]);
28+
$collection->setFlag(self::NAME . '_filter_applied');
2829
}
2930
return $collection;
3031
}

app/code/Magento/CatalogImportExport/Model/Export/Product/StockStatusFilter.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,9 +48,11 @@ public function filter(Collection $collection, array $filters): Collection
4848
switch ($value) {
4949
case self::IN_STOCK:
5050
$this->stockHelper->addInStockFilterToCollection($collection);
51+
$collection->setFlag(self::NAME . '_filter_applied');
5152
break;
5253
case self::OUT_OF_STOCK:
5354
$this->stockHelper->addOutOfStockFilterToCollection($collection);
55+
$collection->setFlag(self::NAME . '_filter_applied');
5456
break;
5557
}
5658
return $collection;

app/code/Magento/CatalogImportExport/Model/Export/Product/WebsiteFilter.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ public function filter(Collection $collection, array $filters): Collection
2727
}
2828

2929
$collection->addWebsiteFilter($filters[self::NAME]);
30+
$collection->setFlag(self::NAME . '_filter_applied');
3031

3132
return $collection;
3233
}

app/code/Magento/ImportExport/Model/Export/Entity/AbstractEntity.php

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -269,6 +269,11 @@ protected function _prepareEntityCollection(\Magento\Eav\Model\Entity\Collection
269269
foreach ($this->filterAttributeCollection($this->getAttributeCollection()) as $attribute) {
270270
$attrCode = $attribute->getAttributeCode();
271271

272+
$filterFlagName = $attrCode . '_filter_applied';
273+
if ($collection->hasFlag($filterFlagName)) {
274+
continue;
275+
}
276+
272277
// filter applying
273278
if (isset($exportFilter[$attrCode])) {
274279
$attrFilterType = \Magento\ImportExport\Model\Export::getAttributeFilterType($attribute);
@@ -320,7 +325,10 @@ protected function _prepareEntityCollection(\Magento\Eav\Model\Entity\Collection
320325
}
321326
}
322327
}
328+
329+
$collection->setFlag($filterFlagName);
323330
}
331+
324332
if (in_array($attrCode, $exportAttrCodes)) {
325333
$collection->addAttributeToSelect($attrCode);
326334
}

0 commit comments

Comments
 (0)