Skip to content

Commit e716a7b

Browse files
author
Sergey Shvets
committed
MAGETWO-73456: Product Url key value comes from product name on storeview level (use default = yes)
1 parent b435fbf commit e716a7b

File tree

1 file changed

+15
-14
lines changed

1 file changed

+15
-14
lines changed

app/code/Magento/Catalog/Controller/Adminhtml/Product/Initialization/Helper/AttributeFilter.php

Lines changed: 15 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,9 @@ public function prepareProductAttributes(Product $product, array $productData, a
3131
$attributeList = $product->getAttributes();
3232
foreach ($productData as $attributeCode => $attributeValue) {
3333
if (!isset($useDefaults[$attributeCode]) || $useDefaults[$attributeCode] === '1') {
34-
$productData = $this->prepareUselessAttributes($product, $attributeCode, $attributeValue, $productData);
34+
if ($attributeValue === '' && (bool)$product->getData($attributeCode) === (bool)$attributeValue) {
35+
unset($productData[$attributeCode]);
36+
}
3537
}
3638

3739
if (isset($useDefaults[$attributeCode]) && $useDefaults[$attributeCode] === '1') {
@@ -43,6 +45,12 @@ public function prepareProductAttributes(Product $product, array $productData, a
4345
return $productData;
4446
}
4547

48+
/**
49+
* @param Product $product
50+
* @param string $attributeCode
51+
* @param array $productData
52+
* @return array
53+
*/
4654
private function prepareConfigData(Product $product, $attributeCode, array $productData): array
4755
{
4856
// UI component sends value even if field is disabled, so 'Use Config Settings' must be reset to false
@@ -53,19 +61,12 @@ private function prepareConfigData(Product $product, $attributeCode, array $prod
5361
return $productData;
5462
}
5563

56-
private function prepareUselessAttributes(
57-
Product $product,
58-
$attributeCode,
59-
$attributeValue,
60-
array $productData
61-
): array {
62-
if ($attributeValue === '' && (bool)$product->getData($attributeCode) === (bool)$attributeValue) {
63-
unset($productData[$attributeCode]);
64-
}
65-
66-
return $productData;
67-
}
68-
64+
/**
65+
* @param array $attributeList
66+
* @param string $attributeCode
67+
* @param array $productData
68+
* @return array
69+
*/
6970
private function prepareDefaultData(array $attributeList, $attributeCode, array $productData): array
7071
{
7172
if (isset($attributeList[$attributeCode])) {

0 commit comments

Comments
 (0)