From 5f98483500400ed8dc5d8d2259a648069dbf0fd9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Brada?= Date: Thu, 20 Sep 2018 13:31:52 +0200 Subject: [PATCH 1/2] Added $fieldId parameter into Config::getFieldPath method for fix of "clone_field" system config feature. --- app/code/Magento/Config/Model/Config.php | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/Config/Model/Config.php b/app/code/Magento/Config/Model/Config.php index 11ad1ef2a43e9..424c47b7ef9aa 100644 --- a/app/code/Magento/Config/Model/Config.php +++ b/app/code/Magento/Config/Model/Config.php @@ -227,13 +227,14 @@ private function getField(string $sectionId, string $groupId, string $fieldId): * Get field path * * @param Field $field + * @param string $fieldId Need for support of clone_field feature * @param array &$oldConfig Need for compatibility with _processGroup() * @param array &$extraOldGroups Need for compatibility with _processGroup() * @return string */ - private function getFieldPath(Field $field, array &$oldConfig, array &$extraOldGroups): string + private function getFieldPath(Field $field, string $fieldId, array &$oldConfig, array &$extraOldGroups): string { - $path = $field->getGroupPath() . '/' . $field->getId(); + $path = $field->getGroupPath() . '/' . $fieldId; /** * Look for custom defined field path @@ -293,7 +294,7 @@ private function getChangedPaths( if (isset($groupData['fields'])) { foreach ($groupData['fields'] as $fieldId => $fieldData) { $field = $this->getField($sectionId, $groupId, $fieldId); - $path = $this->getFieldPath($field, $oldConfig, $extraOldGroups); + $path = $this->getFieldPath($field, $fieldId, $oldConfig, $extraOldGroups); if ($this->isValueChanged($oldConfig, $path, $fieldData)) { $changedPaths[] = $path; } @@ -374,7 +375,7 @@ protected function _processGroup( $backendModel->addData($data); $this->_checkSingleStoreMode($field, $backendModel); - $path = $this->getFieldPath($field, $extraOldGroups, $oldConfig); + $path = $this->getFieldPath($field, $fieldId, $extraOldGroups, $oldConfig); $backendModel->setPath($path)->setValue($fieldData['value']); $inherit = !empty($fieldData['inherit']); @@ -580,4 +581,4 @@ public function getConfigDataValue($path, &$inherit = null, $configData = null) return $data; } -} +} \ No newline at end of file From 0ac0f867ba91a9a96580a47bfdb287f93f89aedb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rodrigo=20Mour=C3=A3o?= Date: Wed, 17 Oct 2018 20:40:22 -0300 Subject: [PATCH 2/2] Update Config.php Fix new line EOF --- app/code/Magento/Config/Model/Config.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/code/Magento/Config/Model/Config.php b/app/code/Magento/Config/Model/Config.php index 424c47b7ef9aa..670ba204cefb4 100644 --- a/app/code/Magento/Config/Model/Config.php +++ b/app/code/Magento/Config/Model/Config.php @@ -581,4 +581,4 @@ public function getConfigDataValue($path, &$inherit = null, $configData = null) return $data; } -} \ No newline at end of file +}