https://github.com/magento/magento2/pull/35624 https://github.com/magento/magento2/issues/35623 https://github.com/magento/magento2/pull/32194 From 393b6171c440dc39c782c3e989cce18ca8a9812c Mon Sep 17 00:00:00 2001 From: Noah Pluimers Date: Thu, 16 Jun 2022 10:56:07 +0200 Subject: [PATCH] Not visible individually products should not be taken into account when checking for duplicate url keys --- .../Magento/CatalogUrlRewrite/Model/Product/Validator.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/vendor/magento/module-catalog-url-rewrite/Model/Product/Validator.php b/vendor/magento/module-catalog-url-rewrite/Model/Product/Validator.php index 01aa2155e322..529dc36917b9 100644 --- a/vendor/magento/module-catalog-url-rewrite/Model/Product/Validator.php +++ b/vendor/magento/module-catalog-url-rewrite/Model/Product/Validator.php @@ -8,6 +8,7 @@ namespace Magento\CatalogUrlRewrite\Model\Product; use Magento\Catalog\Model\Product; +use Magento\Catalog\Model\Product\Visibility as ProductVisibility; use Magento\CatalogUrlRewrite\Model\ProductUrlPathGenerator; use Magento\UrlRewrite\Model\Exception\UrlAlreadyExistsException; use Magento\UrlRewrite\Model\UrlFinderInterface; @@ -71,6 +72,11 @@ public function validateUrlKeyConflicts(Product $product): void continue; } + // check if product visibility on store is not set to "Not Visible Individually" + if ($product->setStoreId($store->getId())->getVisibility() == ProductVisibility::VISIBILITY_NOT_VISIBLE) { + continue; + } + $urlPath = $this->productUrlPathGenerator->getUrlPathWithSuffix($product, $store->getId()); $storeIdsToPathForSave[$store->getId()] = $urlPath; $searchData[UrlRewrite::REQUEST_PATH][] = $urlPath;