From 59f9e53cd06299799dc49752105135f36bd504eb Mon Sep 17 00:00:00 2001 From: Michail Slabko <mslabko@ebay.com> Date: Wed, 21 Oct 2015 13:45:08 +0300 Subject: [PATCH] =?UTF-8?q?MAGETWO-44055:=20[GITHUB]=20Admin=20product=20?= =?UTF-8?q?=C2=ABCustom=20Options=C2=BB=20tab=20controls=20(=C2=ABImport?= =?UTF-8?q?=20Options=C2=BB,=20=C2=ABAdd=20New=20Option=C2=BB=20buttons)?= =?UTF-8?q?=20do=20not=20work=20when=20non-English=20locale=20is=20used=20?= =?UTF-8?q?#1971?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Catalog/Model/Config/Source/Product/Options/Type.php | 2 +- .../Magento/Catalog/view/adminhtml/web/js/custom-options.js | 3 ++- lib/internal/Magento/Framework/View/Element/Html/Select.php | 6 +++--- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/app/code/Magento/Catalog/Model/Config/Source/Product/Options/Type.php b/app/code/Magento/Catalog/Model/Config/Source/Product/Options/Type.php index 5d0c1f24872..ca62402f23a 100644 --- a/app/code/Magento/Catalog/Model/Config/Source/Product/Options/Type.php +++ b/app/code/Magento/Catalog/Model/Config/Source/Product/Options/Type.php @@ -43,7 +43,7 @@ class Type implements \Magento\Framework\Option\ArrayInterface $types[] = ['label' => __($type['label']), 'value' => $type['name']]; } if (count($types)) { - $groups[] = ['label' => __($option['label']), 'value' => $types]; + $groups[] = ['label' => __($option['label']), 'value' => $types, 'optgroup-name' => $option['label']]; } } diff --git a/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js b/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js index 69072252e41..ae23c3476b8 100644 --- a/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js +++ b/app/code/Magento/Catalog/view/adminhtml/web/js/custom-options.js @@ -194,7 +194,8 @@ define([ var widget = this, currentElement = $(event.target), parentId = '#' + currentElement.closest('.fieldset-alt').attr('id'), - group = currentElement.find('[value="' + currentElement.val() + '"]').closest('optgroup').attr('data-name'), + group = currentElement.find('[value="' + currentElement.val() + '"]') + .closest('optgroup').attr('data-optgroup-name'), previousGroup = $(parentId + '_previous_group').val(), previousBlock = $(parentId + '_type_' + previousGroup), tmpl; diff --git a/lib/internal/Magento/Framework/View/Element/Html/Select.php b/lib/internal/Magento/Framework/View/Element/Html/Select.php index 2b240270ba7..1bdbd099cc7 100644 --- a/lib/internal/Magento/Framework/View/Element/Html/Select.php +++ b/lib/internal/Magento/Framework/View/Element/Html/Select.php @@ -151,21 +151,21 @@ class Select extends \Magento\Framework\View\Element\AbstractBlock $isArrayOption = true; foreach ($this->getOptions() as $key => $option) { + $optgroupName = ''; if ($isArrayOption && is_array($option)) { $value = $option['value']; $label = (string)$option['label']; - $name = $option['label'] instanceof \Magento\Framework\Phrase ? $option['label']->getText() : $label; + $optgroupName = isset($option['optgroup-name']) ? $option['optgroup-name'] : $label; $params = !empty($option['params']) ? $option['params'] : []; } else { $value = (string)$key; $label = (string)$option; - $name = $label; $isArrayOption = false; $params = []; } if (is_array($value)) { - $html .= '<optgroup label="' . $label . '" data-name="' . $name . '">'; + $html .= '<optgroup label="' . $label . '" data-optgroup-name="' . $optgroupName . '">'; foreach ($value as $keyGroup => $optionGroup) { if (!is_array($optionGroup)) { $optionGroup = ['value' => $keyGroup, 'label' => $optionGroup]; -- GitLab