Skip to content

Commit fcb8961

Browse files
Fix child product visibility issue (#748)
* Fix child product visibility issue * comment fixed
1 parent eb9009b commit fcb8961

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

app/code/Meta/Catalog/Model/Product/Feed/Builder.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -586,7 +586,11 @@ private function getInventory(Product $product): InventoryInterface
586586
*/
587587
private function getStatus(Product $product)
588588
{
589-
if ($product->getVisibility() == Visibility::VISIBILITY_NOT_VISIBLE) {
589+
$parentProductVisibility = $product->getParentProductVisibility();
590+
591+
// if product is not visible, check for parent product visibility
592+
if ($product->getVisibility() == Visibility::VISIBILITY_NOT_VISIBLE
593+
&& ($parentProductVisibility === null || $parentProductVisibility == Visibility::VISIBILITY_NOT_VISIBLE)) {
590594
return 'archived';
591595
}
592596

app/code/Meta/Catalog/Model/ProductRepository.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public function loadParentProductData(Product $childProduct, Product $product):
102102
$childProduct->setName($product->getName());
103103
$childProduct->setConfigurableSettings($configurableSettings);
104104
$childProduct->setParentProductUrl($product->getProductUrl());
105-
$childProduct->setVisibility($product->getVisibility());
105+
$childProduct->setParentProductVisibility($product->getVisibility());
106106

107107
// If variant is enabled individually, use parent status to decide the final status.
108108
// else, leave it disabled.

0 commit comments

Comments
 (0)