diff --git a/app/code/Magento/Catalog/Model/Product/Url.php b/app/code/Magento/Catalog/Model/Product/Url.php index f3ac9f55d1aea..2760b0f9fddb6 100644 --- a/app/code/Magento/Catalog/Model/Product/Url.php +++ b/app/code/Magento/Catalog/Model/Product/Url.php @@ -162,11 +162,8 @@ public function getUrl(\Magento\Catalog\Model\Product $product, $params = []) \Magento\Store\Model\ScopeInterface::SCOPE_STORE ); - if ($categoryId) { - $filterData[UrlRewrite::METADATA]['category_id'] = $categoryId; - } elseif (!$useCategories) { - $filterData[UrlRewrite::METADATA]['category_id'] = ''; - } + $filterData[UrlRewrite::METADATA]['category_id'] + = $categoryId && $useCategories ? $categoryId : ''; $rewrite = $this->urlFinder->findOneByData($filterData); diff --git a/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php b/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php index 41cd85e6ec2f6..b04d1394e5c12 100644 --- a/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php +++ b/dev/tests/integration/testsuite/Magento/CatalogImportExport/Model/Import/ProductTest.php @@ -20,12 +20,12 @@ use Magento\Framework\App\Bootstrap; use Magento\Framework\App\Filesystem\DirectoryList; use Magento\Framework\App\ObjectManager; +use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\Filesystem; use Magento\Framework\Registry; use Magento\ImportExport\Model\Import; use Magento\Store\Model\Store; use Psr\Log\LoggerInterface; -use Magento\Framework\Exception\NoSuchEntityException; /** * Class ProductTest @@ -95,6 +95,7 @@ protected function tearDown() try { $product = $productRepository->get($productSku, false, null, true); $productRepository->delete($product); + // phpcs:ignore Magento2.CodeAnalysis.EmptyBlock } catch (NoSuchEntityException $e) { // nothing to delete } @@ -1097,6 +1098,7 @@ public function testProductsWithMultipleStores() /** * Test url keys properly generated in multistores environment. * + * @magentoConfigFixture current_store catalog/seo/product_use_categories 1 * @magentoDataFixture Magento/Store/_files/core_fixturestore.php * @magentoDataFixture Magento/Catalog/_files/category_with_two_stores.php * @magentoDbIsolation enabled