From 3a7cbf31efee9775e1254705bcbfbf1394b881a9 Mon Sep 17 00:00:00 2001 From: in-session Date: Fri, 7 Mar 2025 09:53:00 +0100 Subject: [PATCH 01/18] Update View.php --- .../Magento/Catalog/Helper/Product/View.php | 35 +++++++++++++++---- 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php index e56711f361de2..893919eee533f 100644 --- a/app/code/Magento/Catalog/Helper/Product/View.php +++ b/app/code/Magento/Catalog/Helper/Product/View.php @@ -9,6 +9,7 @@ use Magento\Catalog\Model\Product\Attribute\LayoutUpdateManager; use Magento\Framework\App\ObjectManager; use Magento\Framework\View\Result\Page as ResultPage; +use Magento\Store\Model\ScopeInterface; /** * Catalog category helper @@ -174,24 +175,46 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu $urlSafeSku = rawurlencode($product->getSku()); + $enableIdHandle = $this->scopeConfig->isSetFlag( + 'catalog/layout_settings/enable_id_handle', + ScopeInterface::SCOPE_STORE + ); + + $enableAttributeSetHandle = $this->scopeConfig->isSetFlag( + 'catalog/layout_settings/enable_attribute_set_handle', + ScopeInterface::SCOPE_STORE + ); + // Load default page handles and page configurations if ($params && $params->getBeforeHandles()) { foreach ($params->getBeforeHandles() as $handle) { $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); - $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], $handle, false); - $resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku], $handle); + if ($enableAttributeSetHandle) { + $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], $handle, false); + } + if ($enableIdHandle) { + $resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku], $handle); + } } } $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], null, false); - $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], null, false); - $resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku]); + if ($enableAttributeSetHandle) { + $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], null, false); + } + if ($enableIdHandle) { + $resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku]); + } if ($params && $params->getAfterHandles()) { foreach ($params->getAfterHandles() as $handle) { $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); - $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], $handle, false); - $resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku], $handle); + if ($enableAttributeSetHandle) { + $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], $handle, false); + } + if ($enableIdHandle) { + $resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku], $handle); + } } } From 6c4d9c44e207a76c310a3e4b81d4f50e495d09ed Mon Sep 17 00:00:00 2001 From: in-session Date: Fri, 7 Mar 2025 09:57:12 +0100 Subject: [PATCH 02/18] Update system.xml --- .../Magento/Catalog/etc/adminhtml/system.xml | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/app/code/Magento/Catalog/etc/adminhtml/system.xml b/app/code/Magento/Catalog/etc/adminhtml/system.xml index e82b08b5229bd..9e20af1faece8 100644 --- a/app/code/Magento/Catalog/etc/adminhtml/system.xml +++ b/app/code/Magento/Catalog/etc/adminhtml/system.xml @@ -240,6 +240,24 @@ Jpeg quality for resized images 1-100%. + +
+ + advanced + Magento_Developer::config + + + + + + Magento\Config\Model\Config\Source\Yesno + + + + + Magento\Config\Model\Config\Source\Yesno + +
From ec86aac7f937126a5bd48bbe7d587020ee165952 Mon Sep 17 00:00:00 2001 From: in-session Date: Fri, 7 Mar 2025 09:57:47 +0100 Subject: [PATCH 03/18] Update config.xml --- app/code/Magento/Catalog/etc/config.xml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/etc/config.xml b/app/code/Magento/Catalog/etc/config.xml index 04f5e8fb3e883..2e25ef7a588d7 100644 --- a/app/code/Magento/Catalog/etc/config.xml +++ b/app/code/Magento/Catalog/etc/config.xml @@ -97,6 +97,12 @@ datetime - + + + + 1 + 0 + + From 345f7616adcb194115d46a62aff590013903a6c8 Mon Sep 17 00:00:00 2001 From: in-session Date: Fri, 7 Mar 2025 16:09:04 +0100 Subject: [PATCH 04/18] Update system.xml --- app/code/Magento/Catalog/etc/adminhtml/system.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Catalog/etc/adminhtml/system.xml b/app/code/Magento/Catalog/etc/adminhtml/system.xml index 9e20af1faece8..3dee9b7970576 100644 --- a/app/code/Magento/Catalog/etc/adminhtml/system.xml +++ b/app/code/Magento/Catalog/etc/adminhtml/system.xml @@ -1,8 +1,8 @@ From d6cb605964d971a725e8906e716dca383d4954af Mon Sep 17 00:00:00 2001 From: in-session Date: Fri, 7 Mar 2025 16:09:22 +0100 Subject: [PATCH 05/18] Update config.xml --- app/code/Magento/Catalog/etc/config.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Catalog/etc/config.xml b/app/code/Magento/Catalog/etc/config.xml index 2e25ef7a588d7..9f9d531f5810e 100644 --- a/app/code/Magento/Catalog/etc/config.xml +++ b/app/code/Magento/Catalog/etc/config.xml @@ -1,8 +1,8 @@ From e31e9f942f85b830218f6c4d7cd4b66e0fb4e8f7 Mon Sep 17 00:00:00 2001 From: in-session Date: Fri, 7 Mar 2025 16:13:08 +0100 Subject: [PATCH 06/18] Update View.php --- .../Magento/Catalog/Helper/Product/View.php | 25 ++++++++++++++----- 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php index 893919eee533f..5559eb76058c1 100644 --- a/app/code/Magento/Catalog/Helper/Product/View.php +++ b/app/code/Magento/Catalog/Helper/Product/View.php @@ -1,6 +1,6 @@ getSku()); $enableIdHandle = $this->scopeConfig->isSetFlag( - 'catalog/layout_settings/enable_id_handle', + 'catalog/layout_settings/enable_id_handle', ScopeInterface::SCOPE_STORE ); $enableAttributeSetHandle = $this->scopeConfig->isSetFlag( - 'catalog/layout_settings/enable_attribute_set_handle', + 'catalog/layout_settings/enable_attribute_set_handle', ScopeInterface::SCOPE_STORE ); // Load default page handles and page configurations if ($params && $params->getBeforeHandles()) { foreach ($params->getBeforeHandles() as $handle) { - $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); + $resultPage->addPageLayoutHandles( + ['type' => $product->getTypeId()], + $handle, + false + ); + if ($enableAttributeSetHandle) { - $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], $handle, false); + $resultPage->addPageLayoutHandles( + ['attribute_set' => $product->getAttributeSetId()], + $handle, + false + ); } + if ($enableIdHandle) { - $resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku], $handle); + $resultPage->addPageLayoutHandles( + ['id' => $product->getId(), 'sku' => $urlSafeSku], + $handle + ); } } } From 3b704a28cb8ff45d09851a21d339fb4166191fcf Mon Sep 17 00:00:00 2001 From: in-session Date: Sun, 9 Mar 2025 13:05:33 +0100 Subject: [PATCH 07/18] Update View.php --- app/code/Magento/Catalog/Helper/Product/View.php | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php index 5559eb76058c1..1cdb01ef518c4 100644 --- a/app/code/Magento/Catalog/Helper/Product/View.php +++ b/app/code/Magento/Catalog/Helper/Product/View.php @@ -223,7 +223,11 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu foreach ($params->getAfterHandles() as $handle) { $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); if ($enableAttributeSetHandle) { - $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], $handle, false); + $resultPage->addPageLayoutHandles( + ['attribute_set' => $product->getAttributeSetId()], + $handle, + false + ); } if ($enableIdHandle) { $resultPage->addPageLayoutHandles(['id' => $product->getId(), 'sku' => $urlSafeSku], $handle); From fa7bca7178ce7acae348ebe71728d59e51d7854d Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 10:16:38 +0100 Subject: [PATCH 08/18] Update View.php --- .../Magento/Catalog/Helper/Product/View.php | 28 ++++++++++++------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php index 1cdb01ef518c4..76256a49dc25a 100644 --- a/app/code/Magento/Catalog/Helper/Product/View.php +++ b/app/code/Magento/Catalog/Helper/Product/View.php @@ -175,11 +175,14 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu $urlSafeSku = rawurlencode($product->getSku()); + $enableTypeHandle = $this->scopeConfig->isSetFlag( + 'catalog/layout_settings/enable_type_handle', + ScopeInterface::SCOPE_STORE + ); $enableIdHandle = $this->scopeConfig->isSetFlag( 'catalog/layout_settings/enable_id_handle', ScopeInterface::SCOPE_STORE - ); - + ); $enableAttributeSetHandle = $this->scopeConfig->isSetFlag( 'catalog/layout_settings/enable_attribute_set_handle', ScopeInterface::SCOPE_STORE @@ -188,12 +191,14 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu // Load default page handles and page configurations if ($params && $params->getBeforeHandles()) { foreach ($params->getBeforeHandles() as $handle) { - $resultPage->addPageLayoutHandles( - ['type' => $product->getTypeId()], - $handle, - false - ); + if ($enableTypeHandle) { + $resultPage->addPageLayoutHandles( + ['type' => $product->getTypeId()], + $handle, + false + ); + } if ($enableAttributeSetHandle) { $resultPage->addPageLayoutHandles( ['attribute_set' => $product->getAttributeSetId()], @@ -201,7 +206,6 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu false ); } - if ($enableIdHandle) { $resultPage->addPageLayoutHandles( ['id' => $product->getId(), 'sku' => $urlSafeSku], @@ -211,7 +215,9 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu } } - $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], null, false); + if ($enableTypeHandle) { + $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], null, false); + } if ($enableAttributeSetHandle) { $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], null, false); } @@ -221,7 +227,9 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu if ($params && $params->getAfterHandles()) { foreach ($params->getAfterHandles() as $handle) { - $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); + if ($enableTypeHandle) { + $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); + } if ($enableAttributeSetHandle) { $resultPage->addPageLayoutHandles( ['attribute_set' => $product->getAttributeSetId()], From ee56fdf2c54932980dd37855d4663030a1ebfd27 Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 10:18:48 +0100 Subject: [PATCH 09/18] Update system.xml --- app/code/Magento/Catalog/etc/adminhtml/system.xml | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/code/Magento/Catalog/etc/adminhtml/system.xml b/app/code/Magento/Catalog/etc/adminhtml/system.xml index 3dee9b7970576..9ec9be935892e 100644 --- a/app/code/Magento/Catalog/etc/adminhtml/system.xml +++ b/app/code/Magento/Catalog/etc/adminhtml/system.xml @@ -247,12 +247,14 @@ Magento_Developer::config - + + + Magento\Config\Model\Config\Source\Yesno + Magento\Config\Model\Config\Source\Yesno - Magento\Config\Model\Config\Source\Yesno From 2948f2fe5ec0c269c804f6b91652e0fb6556e2fd Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 10:19:23 +0100 Subject: [PATCH 10/18] Update config.xml --- app/code/Magento/Catalog/etc/config.xml | 1 + 1 file changed, 1 insertion(+) diff --git a/app/code/Magento/Catalog/etc/config.xml b/app/code/Magento/Catalog/etc/config.xml index 9f9d531f5810e..8d9dce11a8dd1 100644 --- a/app/code/Magento/Catalog/etc/config.xml +++ b/app/code/Magento/Catalog/etc/config.xml @@ -100,6 +100,7 @@ + 1 1 0 From 400050a60359281346a27a524d1b2d0d19a385f2 Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 10:20:14 +0100 Subject: [PATCH 11/18] Update View.php --- app/code/Magento/Catalog/Helper/Product/View.php | 1 - 1 file changed, 1 deletion(-) diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php index 76256a49dc25a..214166a2200b7 100644 --- a/app/code/Magento/Catalog/Helper/Product/View.php +++ b/app/code/Magento/Catalog/Helper/Product/View.php @@ -191,7 +191,6 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu // Load default page handles and page configurations if ($params && $params->getBeforeHandles()) { foreach ($params->getBeforeHandles() as $handle) { - if ($enableTypeHandle) { $resultPage->addPageLayoutHandles( ['type' => $product->getTypeId()], From e9ca03a5c51628919c9459fdc6d988f1b30d9e5b Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 10:28:04 +0100 Subject: [PATCH 12/18] Update View.php --- .../Magento/Catalog/Helper/Product/View.php | 22 ++++--------------- 1 file changed, 4 insertions(+), 18 deletions(-) diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php index 214166a2200b7..3dace99d029c1 100644 --- a/app/code/Magento/Catalog/Helper/Product/View.php +++ b/app/code/Magento/Catalog/Helper/Product/View.php @@ -174,11 +174,7 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu } $urlSafeSku = rawurlencode($product->getSku()); - - $enableTypeHandle = $this->scopeConfig->isSetFlag( - 'catalog/layout_settings/enable_type_handle', - ScopeInterface::SCOPE_STORE - ); + $enableIdHandle = $this->scopeConfig->isSetFlag( 'catalog/layout_settings/enable_id_handle', ScopeInterface::SCOPE_STORE @@ -191,13 +187,7 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu // Load default page handles and page configurations if ($params && $params->getBeforeHandles()) { foreach ($params->getBeforeHandles() as $handle) { - if ($enableTypeHandle) { - $resultPage->addPageLayoutHandles( - ['type' => $product->getTypeId()], - $handle, - false - ); - } + $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); if ($enableAttributeSetHandle) { $resultPage->addPageLayoutHandles( ['attribute_set' => $product->getAttributeSetId()], @@ -214,9 +204,7 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu } } - if ($enableTypeHandle) { - $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], null, false); - } + $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], null, false); if ($enableAttributeSetHandle) { $resultPage->addPageLayoutHandles(['attribute_set' => $product->getAttributeSetId()], null, false); } @@ -226,9 +214,7 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu if ($params && $params->getAfterHandles()) { foreach ($params->getAfterHandles() as $handle) { - if ($enableTypeHandle) { - $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); - } + $resultPage->addPageLayoutHandles(['type' => $product->getTypeId()], $handle, false); if ($enableAttributeSetHandle) { $resultPage->addPageLayoutHandles( ['attribute_set' => $product->getAttributeSetId()], From 21416cbe4dfa7fa55bdf3615696e83d54af734a5 Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 10:28:49 +0100 Subject: [PATCH 13/18] Update system.xml --- app/code/Magento/Catalog/etc/adminhtml/system.xml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/app/code/Magento/Catalog/etc/adminhtml/system.xml b/app/code/Magento/Catalog/etc/adminhtml/system.xml index 9ec9be935892e..5ae8956aefa3c 100644 --- a/app/code/Magento/Catalog/etc/adminhtml/system.xml +++ b/app/code/Magento/Catalog/etc/adminhtml/system.xml @@ -247,10 +247,6 @@ Magento_Developer::config - - - Magento\Config\Model\Config\Source\Yesno - Magento\Config\Model\Config\Source\Yesno From af52fafbfeacb7ca4849517dcc9474936677c09f Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 10:29:05 +0100 Subject: [PATCH 14/18] Update config.xml --- app/code/Magento/Catalog/etc/config.xml | 1 - 1 file changed, 1 deletion(-) diff --git a/app/code/Magento/Catalog/etc/config.xml b/app/code/Magento/Catalog/etc/config.xml index 8d9dce11a8dd1..9f9d531f5810e 100644 --- a/app/code/Magento/Catalog/etc/config.xml +++ b/app/code/Magento/Catalog/etc/config.xml @@ -100,7 +100,6 @@ - 1 1 0 From bf88c74d06d6ead39b8ae09d626932e52f77e154 Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 20:34:57 +0100 Subject: [PATCH 15/18] Update config.xml --- app/code/Magento/Catalog/etc/config.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/etc/config.xml b/app/code/Magento/Catalog/etc/config.xml index 9f9d531f5810e..c38f31d796e04 100644 --- a/app/code/Magento/Catalog/etc/config.xml +++ b/app/code/Magento/Catalog/etc/config.xml @@ -1,7 +1,7 @@ From a70f9d9f742daf5b03650126a916970c68c0ad15 Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 20:35:43 +0100 Subject: [PATCH 16/18] Update system.xml --- app/code/Magento/Catalog/etc/adminhtml/system.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/etc/adminhtml/system.xml b/app/code/Magento/Catalog/etc/adminhtml/system.xml index 5ae8956aefa3c..614e988eabd21 100644 --- a/app/code/Magento/Catalog/etc/adminhtml/system.xml +++ b/app/code/Magento/Catalog/etc/adminhtml/system.xml @@ -1,7 +1,7 @@ From 61eb4e2ac9a4bec41d3d91372b4bfa2db3f7e4a9 Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 20:36:18 +0100 Subject: [PATCH 17/18] Update View.php --- app/code/Magento/Catalog/Helper/Product/View.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php index 3dace99d029c1..1b9d8216ea8b5 100644 --- a/app/code/Magento/Catalog/Helper/Product/View.php +++ b/app/code/Magento/Catalog/Helper/Product/View.php @@ -178,7 +178,7 @@ public function initProductLayout(ResultPage $resultPage, $product, $params = nu $enableIdHandle = $this->scopeConfig->isSetFlag( 'catalog/layout_settings/enable_id_handle', ScopeInterface::SCOPE_STORE - ); + ); $enableAttributeSetHandle = $this->scopeConfig->isSetFlag( 'catalog/layout_settings/enable_attribute_set_handle', ScopeInterface::SCOPE_STORE From 7e03737cbae8b36d1c623b65f76eac975095b870 Mon Sep 17 00:00:00 2001 From: in-session Date: Mon, 10 Mar 2025 20:36:53 +0100 Subject: [PATCH 18/18] Update View.php --- app/code/Magento/Catalog/Helper/Product/View.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Catalog/Helper/Product/View.php b/app/code/Magento/Catalog/Helper/Product/View.php index 1b9d8216ea8b5..3141cbb933c5e 100644 --- a/app/code/Magento/Catalog/Helper/Product/View.php +++ b/app/code/Magento/Catalog/Helper/Product/View.php @@ -1,6 +1,6 @@